我希望能够检测在给定目录树(或树集)中何时创建新文件或修改或删除现有文件。执行此操作的蛮力方法是重新扫描树以查找更改,但我正在寻找更“中断驱动”的解决方案,其中文件系统告诉我的代码在更改时发生了哪些更改,而不是我的代码必须通过不断扫描数千个寻找变化的文件来“轮询”。
在Python中执行此操作的方法是首选,但如果我必须在C中编写本机模块,那么这是最后的手段。
答案 0 :(得分:8)
pyinotify是IMHO唯一可以在不扫描目录的情况下进行系统更改的方法。
答案 1 :(得分:8)
twisted.internet.inotify
!附加事件循环比仅使用自由浮动的inotify更有用。使用twisted还可以免费提供filepath
,这是一个很好的库,可以更容易地在python中操作文件路径。