Mi archivo de texto MyText.txt
This is line 1 This is line 2 Time Taken for writing this# 0 days 0 hrs 1 min 5 sec Nothing Important Sample Text
Objetivo
Para leer el archivo de texto y buscar si “Muestra de prueba está presente en el archivo. Si está presente, imprima el tiempo necesario para escribir el archivo (que es un valor que ya está dentro del archivo)”
Mi código
with open('MyText.txt', 'r') as f: f.readline() for line in f: if 'Sample Text' in line: print "I have found it" f.seek(0) f.readline() for line in f: if 'Time Taken' in line: print line print ' '.join(line.split()) f.close()
El código está funcionando bien. Mi pregunta es si este código se puede hacer aún mejor. Teniendo en cuenta que soy nuevo en Python, estoy seguro de que habría una mejor manera de codificar esto. Cualquiera puede sugerir una alternativa / enfoque más rápido para esto.
Esto debería funcionar..
with open('MyText.txt', 'r') as f: lineArr=f.read().split('\n') if 'Sample Text' in lineArr: timeTaken = [s for s in lineArr if "Time Taken" in s] print timeTaken[0]
f = abrir ('muestra', 'r') # abrir archivo en modo de lectura data = f.read () # copia a una cadena f.close () # cierra el archivo imprimir datos # imprimir los datos
Personalmente obtendría el texto y luego realizaría operaciones en él si el archivo es bastante pequeño.
f = open("mytext.txt","r") contents = f.read() f.close() for row in contents.split("\n"): if "time" in row: print(row.split("time")[1])