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_modified、on_created、on_deleted方法。
你需要将path/to/directory替换为你希望监视的文件夹路径。
在运行代码后,Observer会持续监视指定路径下的文件夹,直到收到键盘中断信号(Ctrl+C)为止。
当文件被修改、创建或删除时,相应的方法会被调用,并打印相应的信息。
这只是一个基本的例子,你可以根据自己的需求进一步扩展和修改MyEventHandler类,来执行你想要的操作。例如可以在on_modified方法中添加更多的处理逻辑,比如发送邮件通知等。
