Python lê linhas específicas de texto entre duas cadeias de caracteres
Estou tendo problemas para obter o python para ler linhas específicas. O que eu estou trabalhando é algo assim:
lines of data not needed
lines of data not needed
lines of data not needed
--------------------------------------
***** REPORT 1 *****
--------------------------------------
[key] lines of interest are here
[key] lines of interest are here
[key] lines of interest are here
[key] lines of interest are here
[key] lines of interest are here #This can also be the EOF
--------------------------------------
***** REPORT 2 *****
--------------------------------------
lines of data not needed
lines of data not needed
lines of data not needed #Or this will be the EOF
O que eu tentei foi algo como:
flist = open("filename.txt").readlines()
for line in flist:
if line.startswith("\t**** Report 1"):
break
for line in flist:
if line.startswith("\t**** Report 2"):
break
if line.startswith("[key]"):
#do stuff with data
No entanto, tenho um problema quando o arquivo termina sem um delimitador final ... Por exemplo, quando o relatório nº 2 não é exibido. Qual é a melhor abordagem?