shell:基于sha1哈希保存和恢复mtime

时间:2013-03-12 06:17:17

标签: python perl shell openbsd filemtime

我有一组数千个文件,每24小时自动重新生成一次(例如,在OpenBSD上ports-readmes)。

大多数情况下,这些文件的内容不会改变,但由于它们被重新创建,mtime确实会发生变化。

如果不修改重新生成文件的原始应用程序,如何根据文件名/ sha1对缓存mtime,如果sha1保持不变,则在重新生成后恢复?首选python,但欢迎使用任何UNIX解决方案。

(我要求站点地图使用此功能,因为站点地图规范只有lastmod版本。)

1 个答案:

答案 0 :(得分:1)

目前尚不清楚您需要什么帮助。以下是一些开始的地方:

  • 您可以使用os.walkos.listdirglob.glob生成文件列表。
  • 您可以使用os.stat确定上次修改时间。
  • 您可以使用hashlib.md5(open(fname).read()).hexdigest()获取md5。
  • 您可以使用os.utime设置文件的修改时间。
  • 您可以使用json.dumpjson.load将mtimes从一次运行持续到另一次运行(还有其他选择)
相关问题