我想创建一个文件系统监视器,只要对文件系统上的任何文件进行更改,就会发出通知,尤其是写入,新文件创建或重命名。
我做过研究,发现像FindFirstChangeNotification
函数,pyinotify
如何访问日志并使用它来执行上述操作?
软件将使用任何文件更改进行进一步计算,如何进行?
平台:Windows(优先级),Linux
答案 0 :(得分:2)
你应该看看watchdog,它是一个用于监控文件系统的python库,适用于Linux和Windows。
导入时间 来自watchdog.observers导入Observer 来自watchdog.events import 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
等。
最后请注意,观看整个系统中的每个文件可能会导致您出现可扩展性问题。您最好尝试缩小您想要监控的内容。