import time from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler class MyHandler(FileSystemEventHandler): def on_created(self, event): if event.is_directory: print(f"目录 {event.src_path} 被创建") else: print(f"文件 {event.src_path} 被创建") def on_deleted(self, event): if event.is_directory: print(f"目录 {event.src_path} 被删除") else: print(f"文件 {event.src_path} 被删除") def on_moved(self, event): if event.is_directory: print(f"目录 {event.src_path} 被移动到 {event.dest_path}") else: print(f"文件 {event.src_path} 被移动到 {event.dest_path}") if __name__ == "__main__": path = "/path/to/folder" # 指定要监控的文件夹路径 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()
时间: 2023-12-23 20:01:54 浏览: 112
wdt.zip_watchdog
这段代码实现了使用Python的watchdog库来监控指定文件夹中的文件和目录的创建、删除和移动。具体来说,该程序定义了一个FileSystemEventHandler类的子类MyHandler,该子类实现了on_created、on_deleted和on_moved等方法,当监控到文件夹中有文件或目录被创建、删除或移动时,它们会被调用,从而实现按照指定格式输出相关信息的功能。最后,在程序的主函数中,它创建了一个Observer对象,将MyHandler对象和要监控的文件夹路径传递给它,并启动了一个无限循环,每隔1秒钟检查一次,直到接收到KeyboardInterrupt信号,就停止监控并退出程序。
阅读全文