python怎么实现文件跟踪?

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

阅读 6.3k
2 个回答

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

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题