gpt4 book ai didi

python - 如何优雅地将 zip 文件夹内容与解压缩文件夹内容进行比较

转载 作者:太空狗 更新时间:2023-10-29 23:55:16 25 4
gpt4 key购买 nike

场景是这样的。我希望能够使用 python 脚本备份文件夹的内容。但是,我希望我的备份以压缩格式存储,可能是 bz2。

问题在于,如果“当前”文件夹中的内容与我最近备份中的内容完全相同,我不想费心备份该文件夹。

我的流程是这样的:

  1. 开始备份
  2. 根据最新压缩备份中存储的内容检查“当前”文件夹的内容
  3. 如果相同——则“完成”
  4. 如果不同,则运行备份,然后“完成”

任何人都可以推荐完成第 2 步的最可靠和最简单的方法吗?我是否必须解压缩备份的内容并将其存储在临时目录中才能进行比较,或者是否有更优雅的方法来进行比较?可能与修改日期有关?

最佳答案

Zip 文件包含 CRC32 校验和,您可以使用 python zipfile 模块读取它们:http://docs.python.org/2/library/zipfile.html .您可以从 ZipFile.infolist() 获取具有 CRC 成员的 ZipInfo 对象列表。 ZipInfo 对象中也有修改日期。

您可以将 zip 校验和与解压缩文件的计算校验和进行比较。您需要阅读解压后的文件,但不必解压所有内容。

CRC32 不是加密校验和,但如果您只需要检查更改,它应该足够了。

这适用于 zip 文件。其他存档格式(如 tar.bz2)可能不包含这种易于访问的元数据。

关于python - 如何优雅地将 zip 文件夹内容与解压缩文件夹内容进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13451235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com