从文本文件中提取特定开始/结束模式之间的行可以使用正则表达式来实现。下面是一个示例的步骤:
open()
函数。re
模块。close()
函数。以下是一个示例的Python代码实现:
import re
def extract_lines(filename, start_pattern, end_pattern):
lines = []
with open(filename, 'r') as file:
is_extracting = False
for line in file:
if re.search(start_pattern, line):
is_extracting = True
elif re.search(end_pattern, line):
is_extracting = False
if is_extracting:
lines.append(line.strip())
return lines
# 示例用法
filename = 'example.txt'
start_pattern = r'START'
end_pattern = r'END'
extracted_lines = extract_lines(filename, start_pattern, end_pattern)
for line in extracted_lines:
print(line)
在这个示例中,extract_lines()
函数接受文件名、开始模式和结束模式作为参数,并返回符合要求的行组成的列表。使用正则表达式的search()
函数来判断当前行是否匹配开始或结束模式。如果当前行匹配到开始模式,就将is_extracting
标志设置为True
,表示开始提取行;如果当前行匹配到结束模式,就将is_extracting
标志设置为False
,表示停止提取行。只有在is_extracting
为True
时,才将当前行添加到lines
列表中。
请注意,这只是一个简单的示例,实际应用中还需要考虑异常处理、文件不存在等情况,并根据实际需求进行相应的修改。
领取专属 10元无门槛券
手把手带您无忧上云