Tengo un archivo de texto con el siguiente formato:repetidamente extraer una línea entre dos delimitadores en un archivo de texto, Python
DELIMITER1
extract me
extract me
extract me
DELIMITER2
me gustaría extraer cada bloque de extract me
s entre DELIMITER1 y en el DELIMITER2 archivo .txt
Ésta es mi actual código de realización no,:
import re
def GetTheSentences(file):
fileContents = open(file)
start_rx = re.compile('DELIMITER')
end_rx = re.compile('DELIMITER2')
line_iterator = iter(fileContents)
start = False
for line in line_iterator:
if re.findall(start_rx, line):
start = True
break
while start:
next_line = next(line_iterator)
if re.findall(end_rx, next_line):
break
print next_line
continue
line_iterator.next()
¿Alguna idea?
consejo: utilice esto con un objeto de archivo mapeado en memoria (a través del módulo 'mmap') si su archivo es demasiado grande para leerlo todo a la vez. – Steven
@Brent Probé esto y funciona muy bien ... ¡Gracias! – Renklauf
Me alegro de poder ayudar. No olvide marcar una respuesta como aceptada si es la mejor respuesta a su pregunta. –