写一个日志读取脚本,如果当前行有error就把他记录下来;但是现在改进要记录错误行的前后五行,大家有啥好的实现方法吗?谢谢了
日志不大的话,读到列表里,用id来取行内容而不是用readline等。
日志文件肯定很大, 建一个定长(你的就是5或者10)的 collections.deque
,每读取一行line时往队列里插一行。条件达到输出这个deque就行了。
7 回答5.3k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
4 回答3.8k 阅读✓ 已解决
2 回答5.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
你设置一个列表,没读取一行就将数据放入列表中,当列表中的数据多于5条的时候,就去让列表删除第一条,始终保持着列表中有5条数据,这样当你拿到error的时候,那么列表中的5条数据就是满足要求的。前五条完成,后5条应该很简单吧