我正在使用python watchdog进行辅助项目,我遇到了一个问题,有时候文件被创建/修改时看门狗只会说
INFO:root:Modified directory: /home/foo/bar
而不是像我预期的那样
INFO:root:Modified file: /home/foo/bar/.config
或(emacs临时文件)
INFO:root:Modified file: /home/foo/bar/.#config
我目前正在搞乱LoggingEventHandler以及尝试将其子类化以查看我是否可以解决该问题。为什么当某些文件(似乎是隐藏文件)导致看门狗只说目录被修改而不是吐出文件修改过的事件?
答案 0 :(得分:3)
文本编辑器通常会创建一个备份文件并保存一个新副本,而不是实际编辑该文件。您将获得的事件是move
和create
。另外:delete
用于旧交换文件(如果存在),并且modify
用于该目录,因为在其中创建了新文件。行为在README中注明。我认为这是你提到的emacs临时文件后你所看到的。