Mam plik tekstowy w następującym formacie:Wielokrotnie wyodrębnić linię pomiędzy dwoma ogranicznikami w pliku tekstowym, Python
DELIMITER1
extract me
extract me
extract me
DELIMITER2
chciałbym wyodrębnić każdy blok extract me
s pomiędzy DELIMITER1 i DELIMITER2 w txt
to jest mój obecny, nieregularnych Kod:
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()
Jakieś pomysły?
wskazówka: użyj tego w przypadku obiektu pliku odwzorowanego w pamięci (przez moduł 'mmap'), jeśli twój plik jest zbyt duży, aby można go było przeczytać od razu. – Steven
@Brent Wypróbowałem to i działa ładnie ... Dzięki! – Renklauf
Cieszę się, że mogę pomóc. Nie zapomnij zaznaczyć odpowiedzi jako zaakceptowanej, jeśli jest to najlepsza odpowiedź na twoje pytanie. –