繁体   English   中英

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

[英]How to add multiple files into a single zip folder

实际上我正在编写一个脚本,将两个文件写入桌面,让它为“a.txt”和“b.txt”.......所以在写入桌面后我必须阅读这些文件并压缩进入文件夹....

任何人都可以帮助....我知道如何压缩文件夹,但不知道如何将两个文件添加到拉链

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

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)

我现在使用的代码是

import zipfile
zip = zipfile.ZipFile('Python.zip', 'a')
zip.write('fields.txt')
zip.write('grp.txt')
zip.close()

这是创建这两个文件以及一些包含所有文件的额外文件夹.......

你需要用“a”-append参数打开zip文件。 然后,您可以使用write参数而不覆盖文件。

来源: 12.4.1

编辑:

zip.write( 'file.pdf', '/文件夹/ file.pdf')

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

import shutil
shutil.make_archive(output_filename_dont_add_.zip, 'zip', directory_to_download)

请记住,如果您使用ipython,则可以使用directory_to_download的相对地址

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM