Python能做到文件跟踪吗?用什么方法实现,python能做到,问题说的可能不够严谨。比


问题说的可能不够严谨。比如使用git,在一个仓库内,git会判断出哪个文件做过修改,哪些已经加到缓冲区。类似的功能如果用python怎么实现?我的想法是给文件加一个标记(或者一个属性,有没有这种说法?),或者建立一个临时文件来做记录。
这块知识对于我属于真空...以上说法或想法只是我自己想得。希望大家能给点思路或者实现方法。

可以参考 django 或 flask 的 debug 模式,这些都会自动检测文件变动,然后重启开发服务器。不过具体我也没研究过它们的实现方式,你可以看看它们的源码

监视文件变动,可以使用跨平台的 watchdog 模块,不过可能不支持 Python 3。

在 Linux 平台可以使用 pyinotify 模块。

一个简单的办法是每隔几秒检查一下文件的 mtime(最后修改时间)(Tornado 使用此法),不过比较耗资源。

PS: 这些都和 git 不一样。git 有自己的数据库,里边存储了文件的上一个版本。你 git status 时它会把当前工作区的文件和它已经储存的版本进行比对。

PPS: 所以你的需求还没说清楚。

编橙之家文章,

评论关闭