我遇到以下情况:
- pyinotify 监视文件中的 IN_CLOSE_WRITE 事件
- 我更改文件中的某些内容并保存
- 事件被触发
- 我阅读了文件,发现它没有任何变化
稍微修改了一下,我注意到它在调试时工作正常。我在读取文件的行上设置了一个断点,从而增加了一点延迟。之后 - 文件被读取并且更改在那里。
因此,似乎添加time.sleep(1)
或以其他方式延迟执行可以解决问题。否则我会收到一个过早的 IN_CLOSE_WRITE 事件。
我想知道该事件是在提交更改并关闭文件之后触发,还是在此之前触发。IN_CLOSE_WRITE 之后似乎没有其他相关事件。同时,文档有点棘手:
使用 IN_CLOSE_WRITE 因为如果发出相应文件上的所有更改都将安全地写入文件中
我提交了一份关于常见问题解答中措辞的错误报告,但与此同时,我想就此事获得一些额外的意见。这应该发生吗?解决它的“道德正确”方法是什么?
所有这一切都发生在 Linux Mint 15 x64 上。