监视大文本文件进行更改并显示添加的内容

时间:2019-07-14 02:38:36

标签: python python-3.x observers

我尝试监视文本日志文件中的更改,并希望查看已添加的行

我尝试使用看门狗,它似乎可以与一些手动创建/编辑的文件一起进行测试,但是未检测到我的日志文件(在同一目录中)为“已更改”,但已更改。可能是因为此文件已经打开(可能处于特定模式)。如果我关闭使用此日志文件的应用程序并手动对其进行更改,则看门狗可以正常工作。

如何检查文件是否已更改以及更改是否已写入  控制台?

#!/usr/bin/python
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler


class MyHandler(FileSystemEventHandler):
    def on_modified(self, event):
        print(f'event type: {event.event_type}  path : {event.src_path}')


if __name__ == "__main__":
    event_handler = MyHandler()
    observer = Observer()
    observer.schedule(event_handler, path='C:\gory\parcienaszklo\logs', recursive=False)
    observer.start()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

0 个答案:

没有答案