下面的程序在一个打开的文档中查找特定的字符串,这个字符串是“可以”,查找并仅保留最后的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_linesprevious_lines.append(li) # Example use on a file if __name__ == '__main__':with open(r'pinglun.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)
当然,运行上面的程序,要把读入的文件名修改一下,查找的字符串也修改一下。
请把试运行结果贴在讨论区,看和我的结果是否一致。