-3

我想创建一个文件系统监视器,它会在文件系统上的任何文件发生更改时发出通知,尤其是写入、新文件创建或重命名。

我做了研究,发现了FindFirstChangeNotification函数,pyinotify 之类的东西

如何访问日志并使用它来执行上述操作?

然后软件将使用任何文件更改进行进一步计算,如何进行?

平台:Windows(优先)、Linux

4

1 回答 1

2

你应该看看watchdog,它是一个用于监控文件系统的 python 库,适用于 Linux 和 Windows。

从 watchdog.observers 导入时间 从 watchdog.events 导入观察者 导入 LoggingEventHandler

if __name__ == "__main__":
    event_handler = LoggingEventHandler()
    observer = Observer()
    # you may need to use path='c:\' for windows below
    observer.schedule(event_handler, path='/', recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

您可能想LoggingEventHandler用您自己的类替换,该类派生自FileSystemEventHandler、实现on_createdon_modified等。

最后请注意,查看整个系统上的每个文件可能会导致您遇到可伸缩性问题。您最好尝试缩小要监控的范围。

于 2013-03-13T21:30:39.090 回答