如何在Python中跟踪日志文件?我希望在Python中可以在没有阻塞或锁定的情况下使用tail-F或类似的输出。我找到了一些很老的代码这里,但我想现在肯定有更好的方法或图书馆来做同样的事情了。有人听说过吗?理想情况下,我会有tail.getNewData()每次我想要更多数据的时候我都可以打电话给你。
3 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
非阻塞
import timeimport subprocessimport select f = subprocess.Popen(['tail','-F',filename],\ stdout=subprocess.PIPE,stderr=subprocess.PIPE)p = select.poll()p.register(f.stdout)while True: if p.poll(1): print f.stdout.readline() time.sleep(1)
time.sleep(1)
print f.stdout.readline()
阻塞
import subprocess f = subprocess.Popen(['tail','-F',filename],\ stdout=subprocess.PIPE,stderr=subprocess.PIPE)while True: line = f.stdout.readline() print line
f.kill()
.
添加回答
举报
0/150
提交
取消