我想创建一个文件系统监视器,每当对文件系统上的任何文件进行更改时(尤其是写入、新文件创建或重命名),它都会发出通知。
我做了研究,发现了类似 FindFirstChangeNotification
的东西函数,pyinotify
如何访问日志并使用它来执行上述操作?
任何文件更改都将被软件用于进一步计算,如何进行?
平台:Windows(优先)、Linux
您应该看看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_created
、on_modified
等
最后请注意,监视整个系统上的每个文件可能会导致您遇到可扩展性问题。您最好尝试缩小要监视的范围。
我是一名优秀的程序员,十分优秀!