Python如何向zip文件中添加内容

2024-04-27 16:47:55 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我这样做:

from zipfile import ZipFile 

zip = ZipFile(archive, "a")  

for x in range(5):
    zip.writestr("file1.txt", "blabla")

它将创建一个包含5个名为“file1.txt”的文件的归档文件。我想要实现的是有一个压缩文件,每个循环迭代都会附加一些内容。有没有可能没有某种辅助缓冲区以及如何做到这一点?


Tags: 文件infromimporttxtforrangezip
2条回答

使用zipfile包是不可能的,但是gzip支持写入压缩文件:

import gzip
content = "Lots of content here"
f = gzip.open('/home/joe/file.txt.gz', 'wb')
f.write(content)
f.close()

使用Python可以将文件附加到压缩的归档文件中。

在LinuxMint14、Python2.7上测试

import zipfile

#Create compressed zip archive and add files
z = zipfile.ZipFile("myzip.zip", "w",zipfile.ZIP_DEFLATED)
z.write("file1.ext")
z.write("file2.ext")
z.printdir()
z.close()

#Append files to compressed archive
z = zipfile.ZipFile("myzip.zip", "a",zipfile.ZIP_DEFLATED)
z.write("file3.ext")
z.printdir()
z.close()

#Extract all files in archive
z = zipfile.ZipFile("myzip.zip", "r",zipfile.ZIP_DEFLATED)
z.extractall("mydir")
z.close()

相关问题 更多 >