欢迎访问宙启技术站
智能推送

Python代码示例:使用watchdog.observersObserver()监控文件夹中新文件的出现

发布时间:2024-01-10 15:23:06

下面是一个使用watchdog.observers.Observer()来监控文件夹中新文件出现的Python代码示例:

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class MyHandler(FileSystemEventHandler):
    def on_created(self, event):
        if not event.is_directory:  # 判断事件是否为文件创建事件
            print(f"文件 {event.src_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()  # 等待观察者停止

以上代码示例实现了一个自定义的FileSystemEventHandler,重写了其中的on_created()方法以便在文件创建事件发生时输出相应的提示信息。然后通过Observer来创建一个观察者,并将事件处理器与观察者绑定。最后,启动观察者以开始监控文件夹中新文件的出现。当观察者启动后,程序将进入一个无限循环并使用time.sleep(1)来保持运行状态,直到按下Ctrl+C终止程序执行。在终止程序后,观察者将被停止并等待其完成所有操作。

要使用以上代码示例,你需要将/path/to/folder替换为实际的文件夹路径,然后运行代码即可开始监控指定文件夹中的新文件出现。