如何使用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/'
然后复制粘贴文件或在此文件夹中创建文件