我目前正在Linux系统上以python编写程序。目的是在发现特定字符串后读取日志文件并执行bash命令。日志文件正在被另一个程序不断写入。我的问题是:如果我使用open()方法打开文件,我的Python文件对象是否会随着其他程序写入实际文件而更新,还是我必须按一定的时间间隔重新打开文件?谢谢吉姆更新:感谢到目前为止的答案。我也许应该提到Java EE应用程序正在写入文件,因此我无法控制何时将数据写入文件。我目前有一个程序,该程序每10秒重新打开一次文件,并尝试从文件的最后读取位置读取字节。目前,它只是打印出返回的字符串。我希望不需要重新打开文件,但read命令将以某种方式可以访问Java应用程序写入文件的数据。#!/usr/bin/pythonimport timefileBytePos = 0while True: inFile = open('./server.log','r') inFile.seek(fileBytePos) data = inFile.read() print data fileBytePos = inFile.tell() print fileBytePos inFile.close() time.sleep(10)感谢您提供有关pyinotify和generators的技巧。我将看看这些以获得更好的解决方案。
添加回答
举报
0/150
提交
取消