繁体   English   中英

没有任何元数据的zip文件

[英]zip files without any metadata

我想找到一种简单的方法来压缩一堆没有任何文件元数据的文件(例如,时间戳)。 zip命令似乎始终坚持元数据。 我没有看到禁用元数据的方法。

我希望解决方案是一个命令或至多是一个python脚本。 谢谢。

由于一些帖子已经指出,必须存在zip标题中的大多数元数据字段。 如果您正在压缩的文件内容每次都相同,那么唯一不同的字段是时间戳。

通过创建ZipInfo对象并更改时间戳,可以强制时间戳为特定值。

这是一个概念验证

import zipfile

file = zipfile.ZipFile("test.zip", "w")
name = "/tmp/testfile.txt"
zi = zipfile.ZipInfo.from_file(name)
zi.date_time = (1980,1,1,0,0,0)

with file.open(zi, mode='w') as member:
    with open(name, mode='rb') as file:
        fileContent = file.read()
        member.write(fileContent)

上面的代码创建了test.zip ,字段时间戳连接到1980年1月1日。

$ unzip -l test.zip
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
      307  1980-01-01 00:00   tmp/testfile.txt
---------                     -------
      307                     1 file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM