如何更改 zip 存档的标题(PK 到 PIRAKA)?

Posted

技术标签:

【中文标题】如何更改 zip 存档的标题(PK 到 PIRAKA)?【英文标题】:How to change the header of the zip archive (PK to PIRAKA)? 【发布时间】:2019-04-10 13:12:41 【问题描述】:

我在 python 中更改了 zipfile 模块。我需要创建一个带有标题 PIRAKA 而不是 PK 的 zip 档案(档案原来是创建的)。 问题是您无法在 'r' 模式下打开文件。Pirfile

【问题讨论】:

欢迎使用 ***,请查看此帖子:***.com/help/how-to-ask 并通过添加有关您的问题的更多详细信息来编辑您的问题 【参考方案1】:

只需在二进制模式下更改 ZIP 文件内容:

with open('file.zip', 'rb') as f:
    data = f.read().replace(b'PK', b'PIRAKA')

with open('result.zip', 'wb') as f:
    f.write(data)

输入ZIP文件头:

PK    ™QЉNLщFCё ...

输出ZIP文件头:

PIRAKA    ™QЉNLщFCё ...

【讨论】:

不,这不是一个解决方案:它只是一个替代品。这是我的文件的链接drive.google.com/file/d/1-N3PX724THzf3_KpRhW--LzeOM6JNHD-/… 我需要能够以 'r' 模式打开带有 PIRAKA 标头的文件。链接到我的文件:drive.google.com/file/d/1-N3PX724THzf3_KpRhW--LzeOM6JNHD-/view 不,我只想创建自己的存档类型(常规 zip,但带有新标题)。 很简单的是用标准库创建ZIP,然后替换标题 是的,这很简单,但我可以使用修改后的库创建存档。但是,不能在 'r' 模式下打开

以上是关于如何更改 zip 存档的标题(PK 到 PIRAKA)?的主要内容,如果未能解决你的问题,请参考以下文章

D:如何将文件添加到 zip 存档中?

在 Java 中修改 ZIP 存档中的文本文件

如何使用 perl Archive::Zip 将文件添加到存档中?

在 Python 中将数据写入 zip 存档

如何在 Perl 中创建 Zip 存档?

如何在编译设置时创建多个 zip 存档