保存最后N个元素
2020-12-23 本文已影响0人
Little茂茂
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)
if __name__ == '__main__':
with open('/Users/gaoshengmao/Desktop/python') as f:
for line, prevlines in search(f, 'o', 5):
for pline in prevlines:
print(pline, end='')
print(line, end='')
print('-' * 20)