0

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

大多数时候,这些文件的内容不会改变,但由于它们是重新创建的,所以mtime确实会改变。

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

(我需要站点地图,因为站点地图规范仅lastmod用于版本控制。)

4

1 回答 1

1

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

  • 您可以使用os.walk,os.listdirglob.glob来生成文件列表。
  • 您可以使用os.stat来确定上次修改时间。
  • 你可以hashlib.md5(open(fname).read()).hexdigest()用来获取md5。
  • 可以os.utime用来设置文件的修改时间。
  • 您可以使用json.dump并将json.loadmtimes 从一次运行持续到下一次运行(还有其他选择)
于 2013-03-12T06:46:09.827 回答