如何用Python在指定文件中查询关键字,并显示关键词前后一定范围的内容?

用Python从《巴菲特自传》文本中查询所有的“巴菲特”,查询结果为其前后“前20个字+巴菲特+后20个字”,每个结果一行。

先找到关键字的位置,然后截取前后对应的字符串。可以用python的find直接查找

用正则去匹配吧,python的正则很简单

楼上两位说的很对了。先用正则匹配到关键字的位置,再获取前后一定范围的字符串。

都已经采纳了就没啥好说的了

楼主解决了吗,求教

Python3 获取一大段文本之间两个关键字之间的内容
import re
file = '123.txt'
w1 = '123'
w2 = '456'
f = open(file, 'r')
buff = f.read()
pat = re.compile(w1 + '(.*?)' + w2, re.S)
result = pat.findall(buff)
print(result)