Tôi có một tập tin văn bản trong định dạng sau:Liên tiếp trích xuất một ranh giới giữa hai delimiters trong một file văn bản, Python
DELIMITER1
extract me
extract me
extract me
DELIMITER2
Tôi muốn trích xuất tất cả các khối extract me
s giữa DELIMITER1 và DELIMITER2 trong .txt tập tin
Đây là hiện tại, không thực hiện mã của tôi:
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()
Bất kỳ ý tưởng?
: sử dụng thẻ này với đối tượng tệp được ánh xạ bộ nhớ (thông qua mô-đun 'mmap') nếu tệp của bạn quá lớn để đọc trong cùng một lúc. – Steven
@Brent Đã thử điều này và nó hoạt động độc đáo ... Cảm ơn! – Renklauf
Vui vì tôi có thể giúp. Đừng quên đánh dấu câu trả lời là được chấp nhận nếu đó là câu trả lời hay nhất cho câu hỏi của bạn. –