Python 死循环处理不断输出的日志

对方接口的内容是在不断输出的(类似nginx访问日志) 我用Python写一个死循环去不停获取接口的内容, 但是内容会被重复输出, 请问大神,有什么方法对返回的内容进行处理, 每次循环只打印不同的内容?

阅读 4.6k
2 个回答

如果是日志的话应该会有时间戳,使用SQLite进行记录和查询是一个选择

有2种思路:

  • 利用文件指针seek函数,将每次读取后的位置f.tell()存入一个文件,下次循环时从新的位置开始读取

with open('access.log') as f:
    f.seek(n)
    ## processing 
    f.tell()
    ## save the newest postions to a file
  • 不太相关的思路是,系统级定时任务每天0点切割nginx日志,并按日期保存,我有这个脚本,运行很稳定,需要了发出来。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题