Lectura de archivos de texto e impresión de datos

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])