【发布时间】:2019-10-04 13:47:14
【问题描述】:
最初我想动态创建 zip 文件并在 http 响应中返回它。我使用 python 3.7 lib zipfile。 我尝试了 io buffer 和 tmp dir,它们都没有创建有效的 zip 存档。存档仅在将其保存在光盘上时才打开 导入压缩文件 导入io
#==============================================
# V1
file_like_object = io.BytesIO()
myZipFile = zipfile.ZipFile(file_like_object, "w", compression=zipfile.ZIP_DEFLATED)
myZipFile.writestr(u'test.py', b'test')
tmparchive="zip1.zip"
out = open(tmparchive,'wb') ## Open temporary file as bytes
out.write(file_like_object.getvalue())
out.close()
r = open(tmparchive, 'rb')
print (r.read())
r.close()
#==============================================
# V2
tmparchive2 = 'zip2.zip'
myZipFile2 = zipfile.ZipFile(tmparchive2, "w", compression=zipfile.ZIP_DEFLATED)
myZipFile2.writestr(u'test.py', b'test')
r2 = open(tmparchive2, 'rb')
print (r2.read())
r2.close()
#====================================================
【问题讨论】:
标签: python-3.x io zip