在Python中,你可以使用watchdog
库来实现文件系统监控功能。下面是一个基础的看门狗(Watchdog)示例,它会监视指定目录下的文件和子目录的变化,并对特定事件(如文件创建、修改或删除)做出响应:
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler# 定义一个处理文件系统事件的类
class MyHandler(FileSystemEventHandler):def on_modified(self, event):print(f"Modified file: {event.src_path}")def on_created(self, event):print(f"Created file: {event.src_path}")def on_deleted(self, event):print(f"Deleted file: {event.src_path}")if __name__ == "__main__":# 指定要监控的目录路径path_to_watch = "/path/to/watch"# 创建一个事件处理器实例event_handler = MyHandler()# 创建并配置观察者实例observer = Observer()observer.schedule(event_handler, path=path_to_watch, recursive=True)# 开始监听observer.start()try:while True:time.sleep(1) # 保持程序运行,你可以根据需要修改这个循环except KeyboardInterrupt:observer.stop() # 当用户按下Ctrl+C时停止观察者observer.join() # 确保所有线程完成后再退出主进程
在这个例子中,当被监控的目录及其子目录下的文件发生修改、创建或删除时,相应的事件处理器方法会被调用,并打印出发生了变化的文件路径。
请确保已经通过pip安装了watchdog
库:
pip install watchdog