如何使用看门狗来监视在 Python 中创建或删除文件的时间



我在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语句放在一起来做得更好?

为什么它告诉我它找不到首先指定的文件。

因为你给看门狗的路径是它连接自己来监听事件的地方。

您不能观看文件并期望记录其创建事件。文件创建事件发布在父目录中,因此这是您应该关注的内容。

事实上,我不知道观看特定文件对看门狗有什么意义,它的标语是

目录监控变得容易

最新更新