读取一个txt文件,查找指定的关键字,然后打印出该关键字及其前后的几个字
# 实现将txt文件中指定关键字及其前后几个字过滤
def filter_keyword(file_path, keyword, before_n, after_n):
with open(file_path, 'r', encoding='utf-8') as f:
content = f.readlines()
for i, line in enumerate(content):
if keyword in line:
# 计算关键字前后的字数
before_index = max(0, line.index(keyword) - before_n)
after_index = min(len(line), line.index(keyword) + len(keyword) + after_n)
# 输出关键字及其前后的字
print(line[before_index:after_index])
# 使用示例
filter_keyword('6_2.txt', 'orderNo', 1, 25)
在使用这个函数时,需要将’6_2.txt’替换为你的txt文件的路径,'orderNo’替换为你要查找的关键字,1和25分别替换为你想要在关键字前和关键字后显示的字的数量。