以下是一个示例代码,它可以读取一个文本文件并保留满足条件的行以及它们的相邻行:
def filter_rows(file_path, condition_func):
with open(file_path, 'r') as file:
lines = file.readlines()
filtered_lines = []
previous_line = None
for line in lines:
line = line.strip()
if condition_func(line) or (previous_line is not None and condition_func(previous_line)):
filtered_lines.append(line)
previous_line = line
return filtered_lines
# 示例条件函数:只保留包含特定关键字的行
def keyword_condition(line):
keywords = ['apple', 'banana', 'orange']
for keyword in keywords:
if keyword in line:
return True
return False
# 示例用法
file_path = 'example.txt'
filtered_rows = filter_rows(file_path, keyword_condition)
for row in filtered_rows:
print(row)
在这个示例中,filter_rows
函数接收一个文件路径和一个条件函数作为参数。它首先打开文件并逐行读取文件内容。然后,它遍历每一行,并根据条件函数的返回值来决定是否将该行添加到筛选结果中。
在示例中,keyword_condition
函数是一个条件函数的示例,它检查每一行是否包含特定的关键字,如果包含则返回True
,否则返回False
。你可以根据自己的需求修改条件函数。
最后,示例代码读取example.txt
文件并使用keyword_condition
函数筛选出满足条件的行,并打印出来。你可以将print
语句替换为其他操作,以适应你的具体需求。