一种在Linux上“侦听”Python中文件系统更改的方法?

我希望能够在创build新文件或在给定目录树(或树集)内修改或删除现有文件时检测到。 蛮力的方法是重新扫描寻找变化的树,但是我正在寻找一个更“中断驱动”的解决scheme,其中文件系统告诉我的代码在更改时发生了什么变化,而不是我的代码必须通过不断扫描数以千计的文件寻找变化,“轮询”。

在Python中这样做的方法是首选,但如果我必须编写一个本地模块在C中可以作为最后的手段。

pyinotify是恕我直言的唯一方法来获取系统更改而不扫描目录。

twisted.internet.inotify ! 附加事件循环比自由浮动inotify更有用。 使用twisted还可以免费提供文件路径,这是一个很好的库,可以更方便地在python中操作文件路径。