如何创建一个空的 zip 文件?
Posted
技术标签:
【中文标题】如何创建一个空的 zip 文件?【英文标题】:How to create an empty zip file? 【发布时间】:2014-08-08 03:06:33 【问题描述】:我正在使用zipfile
,在某些情况下,我需要为某些占位符目的创建一个空的 zip 文件。我该怎么做?
我知道:
在 2.7.1 版更改:如果文件是使用模式“a”或“w”创建的 然后关闭而不向存档中添加任何文件, 空存档的适当 ZIP 结构将被写入 文件。
但我的服务器使用较低版本,如 2.6。
【问题讨论】:
【参考方案1】:您可以创建一个空的 zip 文件,而无需 zipfile
为:
empty_zip_data = b'PK\x05\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
with open('empty.zip', 'wb') as zip:
zip.write(empty_zip_data)
empty_zip_data
是一个空zip文件的数据。
【讨论】:
对于 Python 3 使用empty_zip_data = b'PK\x05...
。【参考方案2】:
你可以这样做:
from zipfile import ZipFile
archive_name = 'test_file.zip'
with ZipFile(archive_name, 'w') as file:
pass
【讨论】:
投反对票,因为这不会产生可读的ZipFile
(zipfile.BadZipFile: File is not a zip file
)
适用于我在 Linux 和 Windows 以及 Python 3.8 和 Python 3.9 上。创建的 zip 文件是 Python 和 7-Zip 中的有效 ZIP 文件。以上是关于如何创建一个空的 zip 文件?的主要内容,如果未能解决你的问题,请参考以下文章