我正在尝试使用Python程序中的方法来检测文件系统上的文件是否已被修改.我知道我可以在每5秒运行一次以检查系统的最后修改日期,但我很好奇是否有更简单的方法来执行此操作,而无需要求我的程序重复检查.
有谁知道这样的方法?
nem*_*ith 78
用于观看目录的优秀跨平台库.
来自网站
支持的平台
Linux 2.6(inotify)
Mac OS X(FSEvents,kqueue)
FreeBSD/BSD(kqueue)
Windows(带有I/O完成端口的ReadDirectoryChangesW; ReadDirectoryChangesW工作线程)
独立于操作系统(轮询磁盘以查找目录快照并定期比较它们;慢而不推荐)
我已经在几个项目中使用它,它似乎工作得非常好.
Ale*_*amo 44
对于linux,有pyinotify.
从主页:
Pyinotify是一个用于监视文件系统更改的Python模块.Pyinotify依赖于称为inotify的Linux内核功能(在内核2.6.13中合并).inotify是一个事件驱动的通知程序,它的通知通过三个系统调用从内核空间导出到用户空间.pyinotify绑定这些系统调用,并在它们之上提供一个实现,提供一种通用和抽象的方式来操作这些功能.
因此,它显然不是跨平台的,并且依赖于足够新的内核版本.但是,据我所知,任何非轮询机制都需要内核支持.