我有一组数千个文件,每24小时自动重新生成一次(例如,在OpenBSD上ports-readmes)。
大多数情况下,这些文件的内容不会改变,但由于它们被重新创建,mtime
确实会发生变化。
如果不修改重新生成文件的原始应用程序,如何根据文件名/ sha1对缓存mtime,如果sha1保持不变,则在重新生成后恢复?首选python
,但欢迎使用任何UNIX解决方案。
(我要求站点地图使用此功能,因为站点地图规范只有lastmod
版本。)
答案 0 :(得分:1)
目前尚不清楚您需要什么帮助。以下是一些开始的地方:
os.walk
,os.listdir
或glob.glob
生成文件列表。os.stat
确定上次修改时间。hashlib.md5(open(fname).read()).hexdigest()
获取md5。os.utime
设置文件的修改时间。 json.dump
和json.load
将mtimes从一次运行持续到另一次运行(还有其他选择)