在Linux上从Python“监听”文件系统更改的方法?

时间:2010-09-01 23:21:08

标签: python linux

我希望能够检测在给定目录树(或树集)中何时创建新文件或修改或删除现有文件。执行此操作的蛮力方法是重新扫描树以查找更改,但我正在寻找更“中断驱动”的解决方案,其中文件系统告诉我的代码在更改时发生了哪些更改,而不是我的代码必须通过不断扫描数千个寻找变化的文件来“轮询”。

在Python中执行此操作的方法是首选,但如果我必须在C中编写本机模块,那么这是最后的手段。

2 个答案:

答案 0 :(得分:8)

pyinotify是IMHO唯一可以在不扫描目录的情况下进行系统更改的方法。

答案 1 :(得分:8)

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