【发布时间】:2014-08-08 03:06:33
【问题描述】:
我正在使用zipfile,在某些情况下,我需要为某些占位符目的创建一个空的 zip 文件。我该怎么做?
我知道:
在 2.7.1 版更改:如果文件是使用模式“a”或“w”创建的 然后关闭而不向存档中添加任何文件, 空存档的适当 ZIP 结构将被写入 文件。
但我的服务器使用较低版本,如 2.6。
【问题讨论】:
我正在使用zipfile,在某些情况下,我需要为某些占位符目的创建一个空的 zip 文件。我该怎么做?
我知道:
在 2.7.1 版更改:如果文件是使用模式“a”或“w”创建的 然后关闭而不向存档中添加任何文件, 空存档的适当 ZIP 结构将被写入 文件。
但我的服务器使用较低版本,如 2.6。
【问题讨论】:
您可以创建一个空的 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文件的数据。
【讨论】:
empty_zip_data = b'PK\x05...。
你可以这样做:
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)