在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