我正在尝试使用python将一些文件压缩到zip存档。我有以下代码来压缩文件
with gcs.open(zip_file_name, 'w', content_type=b'application/zip') as f:
with zipfile.ZipFile(f, 'w') as z:
for file in files:
if file.show:
file_name = "/%s/%s" % (gcs_store.get_bucket_name(), file.gcs_name)
gcs_reader = gcs.open(file_name, 'r',read_buffer_size=1048576)
file_buffer = gcs_reader.read(1048576)
while True:
z.writestr('%s-%s' %(file.created_on, file.name), file_buffer)
file_buffer = gcs_reader.read(1048576)
if not file_buffer:
break
gcs_reader.close()
f.close() #closing zip file
但如果我想要压缩大于1MB的文件,我会在zip存档中获得> 1个不同的文件,这些文件最多都是1MB。那就是文件被拆分,文件内容被写成zip存档中的单独文件。
如何在zip存档中连续将字节写入1个文件?