python deque 双队列
- 2019 年 10 月 7 日
- 筆記
搜索文件中的字符串,并保留字符串的前面5行:collections.deque
from collections import deque
def search(lines, pattern, history=5): previous_lines = deque(maxlen=history) for line in lines: if pattern in line: yield line, previous_lines previous_lines.append(line)
Example use on a file
if name == 'main': with open(r'../../cookbook/somefile.txt') as f: for line, prevlines in search(f, 'python', 5): for pline in prevlines: print(pline, end='') print(line, end='') print('-' * 20)
