下面的程序打开一个文档文件,在其中查找特定的字符串,这个字符串是“可以”,查找并仅保留最后的3次,抛弃其他的内容,请试运行一下,看看结果是否正确? from collections import deque def search(lines, pattern, history=3): previous_lines = deque(maxlen=history) for li in lines: if pattern in li: yield li, previous_lines previous_lines.append(li) # Example use on a file if __name__ == '__main__': with open(r'xxx.txt',encoding='utf-8') as f: for line, prevlines in search(f, '可以', 3): for pline in prevlines: print(pline, end='') print(line, end='') print('-' * 20)
当然,运行上面的程序,要把读入的文件名修改一下,查找的字符串也修改一下。
请把试运行结果贴在讨论区,看和我的结果是否一致。