以下是一个示例代码,实现了包括前N行过滤匹配项的功能:
def filter_lines(file_path, keyword, n):
with open(file_path, 'r') as file:
lines = file.readlines()
filtered_lines = []
for line in lines:
if keyword in line:
filtered_lines.append(line)
if len(filtered_lines) == n:
break
return filtered_lines
file_path = 'example.txt'
keyword = 'example'
n = 3
filtered_lines = filter_lines(file_path, keyword, n)
for line in filtered_lines:
print(line)
在上述示例中,我们定义了一个名为filter_lines
的函数,它接受文件路径、关键字和N作为参数。首先,我们使用with open()
语句打开文件并读取所有行。然后,我们遍历每一行,如果关键字在行中出现,就将该行添加到filtered_lines
列表中。同时,我们使用一个计数器来跟踪已匹配的行数,当计数器达到N时,我们使用break
语句跳出循环。最后,我们返回filtered_lines
列表。
在示例中,我们将文件路径设置为example.txt
,关键字设置为example
,将N设置为3。然后,我们调用filter_lines
函数,并遍历filtered_lines
列表以打印匹配的行。