如何使用watchdog在Python中创建或删除文件时进行监视

如何使用watchdog在Python中创建或删除文件时进行监视,python,watchdog,Python,Watchdog,我在Python中使用watchdog实时监控文件的创建或删除 以下示例中,我尝试了以下方法: import time from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler class MyHandler(FileSystemEventHandler): def on_created(self, event): print("File is c

我在
Python
中使用
watchdog
实时监控文件的创建或删除

以下示例中,我尝试了以下方法:

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

class MyHandler(FileSystemEventHandler):
    def on_created(self, event):
        print("File is created!")

event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path='C:/daten/dog.txt', recursive=False)

observer.start()

try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    observer.stop()

observer.join()
当然,当脚本开始运行时,文件
path='C:/daten/dog.txt'
不存在。但我仍然会收到错误消息

FileNotFoundError: [WinError 2] The system cannot find the file specified.
为什么它告诉我它找不到最初指定的文件。我需要运行它来监视文件的创建


更新: 现在我了解到,
watchdog
用于监视文件夹而不是文件

是否有类似的包用于监视文件,或者最好是将
while
sleep
语句结合在一起进行监视

为什么它告诉我它找不到最初指定的文件

因为你给看门狗的路径是它钩住自己去监听事件的地方

您不能监视文件并期望记录其创建事件。文件创建事件发布在父目录上,因此您应该关注这些事件

事实上,我不知道用watchdog看一个特定的文件有什么意义,它的口号是

目录使用


仅提供
路径
而不提供文件。例如,
path='C:/daten/'
然后复制粘贴文件或在此文件夹中创建文件