import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
print(f'文件被修改: {event.src_path}')
def on_created(self, event):
print(f'文件被创建: {event.src_path}')
def on_deleted(self, event):
print(f'文件被删除: {event.src_path}')
if __name__ == "__main__":
path = "/path/to/watch"
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
导入模块:
time:用于暂停程序执行。Observer 和 FileSystemEventHandler:来自 watchdog 库,分别用于观察文件系统的变化和处理这些变化的事件。定义事件处理器类 MyHandler:
FileSystemEventHandler,重写了三个方法:on_modified:当文件或目录被修改时触发。on_created:当文件或目录被创建时触发。on_deleted:当文件或目录被删除时触发。主程序逻辑:
path。MyHandler 实例。Observer,将事件处理器绑定到指定路径,并设置递归监控(即监控子目录中的变化)。try-except 捕获键盘中断(如 Ctrl+C),以优雅地停止观察器。observer.join() 等待观察器线程结束。上一篇:python升级pip
下一篇:python调用c++库
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站