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

Lau*_*ves 2 python linux

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

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

ebt*_*ebt 8

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


hab*_*bit 8

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

  • Downvote!=仇恨.也许他们不同意你的建议,但不想为什么争论?您对downvote的初步反应仅仅证实了一种可能的假设,即您对不同的意见过于敏感. (2认同)