首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将多个文件添加到单个zip文件夹中

如何将多个文件添加到单个zip文件夹中
EN

Stack Overflow用户
提问于 2012-05-15 15:45:51
回答 2查看 9.7K关注 0票数 3

实际上我正在写一个脚本,它将两个文件写入桌面,让它分别为"a.txt“和"b.txt"......因此,在写入桌面后,我必须读取这些文件并将其压缩到一个文件夹中。

我知道如何压缩文件夹,但不知道如何将两个文件添加到压缩包中

从文件夹中读取我知道它是这样的

代码语言:javascript
复制
def zipdir(basedir, archivename):
    assert os.path.isdir(basedir)
    with closing(ZipFile(archivename, "w", ZIP_DEFLATED)) as z:
        for root, dirs, files in os.walk(basedir):
            for fn in files:
                absfn = os.path.join(root, fn)
                zfn = absfn[len(basedir)+len(os.sep):]
                z.write(absfn, zfn)

if __name__ == '__main__':
    import sys
    basedir = sys.argv[1]
    archivename = sys.argv[2]
    zipdir(basedir, archivename)

我现在使用的代码是

代码语言:javascript
复制
import zipfile
zip = zipfile.ZipFile('Python.zip', 'a')
zip.write('fields.txt')
zip.write('grp.txt')
zip.close()

这是创建的文件,这两个加上一些额外的文件夹,其中包含所有文件.......

EN

回答 2

Stack Overflow用户

发布于 2012-05-15 16:54:14

您需要使用"a“-append参数打开压缩文件。然后,您可以使用write参数,而无需覆盖文件。

来源:12.4.1

编辑:

zip.write('file.pdf','/folder/file.pdf')

票数 1
EN

Stack Overflow用户

发布于 2018-06-05 04:48:22

最简单的方法是使用shutil库。将你想要压缩的所有文件放在一个目录(文件夹)中

代码语言:javascript
复制
import shutil
shutil.make_archive(output_filename_dont_add_.zip, 'zip', directory_to_download)

记住,如果你使用ipython,你可以使用directory_to_download的相对地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10596297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档