如何使用python将字节连续写入zip存档中的单个文件

时间:2014-10-20 19:09:05

标签: python python-2.7 zipfile

我正在尝试使用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个文件?

0 个答案:

没有答案