from collections import deque
def search(line,pattern,history=5):
previous_lines = deque(maxlen=history)
for li in line:
if pattern in li:
yield li,previous_lines
previous_lines.append(li)
if __name__ == '__main__':
"在 file 文件中,查找 'sh startup.sh' 字符串, 并且顯示查找到'sh startup.sh' 字符串之前的5個(gè)記錄"
with open('file') as f:
for line,previlnes in search(f,'sh startup.sh',5):
for piline in previlnes:
print(piline)
print(line)
print('_' * 20)