小编典典

检测文件更改而不轮询

python

我正在尝试在Python程序中使用一种方法来检测文件系统上的文件是否已被修改。我知道我可以每隔5秒运行一次以检查系统的上次修改日期,但是我很好奇是否有更简便的方法可以执行此操作,而无需我的程序反复检查。

有人知道这种方法吗?


阅读 151

收藏
2020-12-20

共1个答案

小编典典

对于linux,有pyinotify

从首页:

Pyinotify是一个用于监视文件系统更改的Python模块。Pyinotify依赖于称为inotify的Linux内核功能(合并在内核2.6.13中)。inotify是一个事件驱动的通知程序,它的通知通过三个系统调用从内核空间导出到用户空间。pyinotify绑定了这些系统调用,并在它们之上提供了一个实现,从而提供了一种通用且抽象的方式来操纵这些功能。

因此,它显然不是跨平台的,而是依赖于足够新的内核版本。但是,据我所知,任何非轮询机制都需要内核支持。

2020-12-20