我目前正在Linux系統(tǒng)上以python編寫程序。目的是在發(fā)現(xiàn)特定字符串后讀取日志文件并執(zhí)行bash命令。日志文件正在被另一個程序不斷寫入。我的問題是:如果我使用open()方法打開文件,我的Python文件對象是否會隨著其他程序?qū)懭雽?shí)際文件而更新,還是我必須按一定的時間間隔重新打開文件?謝謝吉姆更新:感謝到目前為止的答案。我也許應(yīng)該提到Java EE應(yīng)用程序正在寫入文件,因此我無法控制何時將數(shù)據(jù)寫入文件。我目前有一個程序,該程序每10秒重新打開一次文件,并嘗試從文件的最后讀取位置讀取字節(jié)。目前,它只是打印出返回的字符串。我希望不需要重新打開文件,但read命令將以某種方式可以訪問Java應(yīng)用程序?qū)懭胛募臄?shù)據(jù)。#!/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)感謝您提供有關(guān)pyinotify和generators的技巧。我將看看這些以獲得更好的解決方案。
添加回答
舉報
0/150
提交
取消