欢迎访问宙启技术站
智能推送

Python中如何使用watchdog.observersObserver()监视文件改动

发布时间:2024-01-10 15:18:06

在Python中,可以使用watchdog库来监视文件的改动。watchdog库是一个用于监视文件系统事件的库,可以在文件发生改动时触发相应的操作。

首先,我们需要安装watchdog库,可以使用以下命令来安装:

pip install watchdog

接下来,我们将展示如何使用watchdog库中的Observer类来监视文件的改动。

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class MyEventHandler(FileSystemEventHandler):
    def on_modified(self, event):
        print(f"File {event.src_path} was modified")

    def on_created(self, event):
        print(f"File {event.src_path} was created")

    def on_deleted(self, event):
        print(f"File {event.src_path} was deleted")

if __name__ == "__main__":
    event_handler = MyEventHandler()
    observer = Observer()
    path = "path/to/directory"  # 监视的文件夹路径
    observer.schedule(event_handler, path, recursive=True)
    observer.start()

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

上面的代码展示了一个简单的例子,使用Observer类监视指定路径的文件夹。当文件夹中的文件被修改、创建或删除时,会分别触发on_modifiedon_createdon_deleted方法。

你需要将path/to/directory替换为你希望监视的文件夹路径。

在运行代码后,Observer会持续监视指定路径下的文件夹,直到收到键盘中断信号(Ctrl+C)为止。

当文件被修改、创建或删除时,相应的方法会被调用,并打印相应的信息。

这只是一个基本的例子,你可以根据自己的需求进一步扩展和修改MyEventHandler类,来执行你想要的操作。例如可以在on_modified方法中添加更多的处理逻辑,比如发送邮件通知等。