在Linux上用Python监听文件系统变化的方法?

2 投票
2 回答
4379 浏览
提问于 2025-04-16 03:36

我想要能够检测到在某个文件夹(或者一组文件夹)中,什么时候有新文件被创建,或者已有文件被修改或删除。最简单的方法就是不断地重新扫描这个文件夹,看看有没有变化,但我想要一种更聪明的方式,也就是让文件系统主动告诉我的代码哪些地方发生了变化,而不是我的代码不停地去检查成千上万的文件。

如果能用Python来实现那就最好了,不过如果最后不得不写一个C语言的原生模块也可以。

2 个回答

8

twisted.internet.inotify!把事件循环和 inotify 结合起来用,比单独使用 inotify 要有用得多。使用 twisted 还可以免费获得 filepath,这是一个很不错的库,可以让你在 Python 中更轻松地处理文件路径。

8

pyinotify 在我看来,是获取系统变化的唯一方法,而不需要去扫描文件夹。

撰写回答