Python压缩新文件到已有ZIP文件

2016-09-07 董付国 Python小屋 Python小屋

本文要点在于使用Python标准库zipfile创建压缩文件时,如果使用'a'模式时,可以追加新内容。


from zipfile import ZipFile

from os import listdir

from os.path import isfile, isdir, join


def addFileIntoZipfile(srcDir, fp):

    #遍历该文件夹中所有文件

    for subpath in listdir(srcDir):

        subpath = join(srcDir, subpath)

        if isfile(subpath):

            #如果是文件就直接压缩到ZIP文件

            fp.write(subpath)

        elif isdir(subpath):

            #如果是子文件夹就先写入子文件夹名

            #然后再递归调用函数

            #把所有文件都压缩进入ZIP文件

            fp.write(subpath)

            addFileIntoZipfile(subpath, fp)


def zipCompress(srcDir, desZipfile):

    with ZipFile(desZipfile, mode='a') as fp:

        addFileIntoZipfile(srcDir, fp)


#测试函数功能

paths = [r'C:\python34\Scripts', r'C:\python34\Dlls', r'c:\eclipse']

for path in paths:

    zipCompress(path, 'test.zip'



温馨提示:单击文章顶部作者名字旁边浅蓝色的“Python小屋”进入公众号,关注后可以查看更多内容!


欢迎转发给您的朋友,或许这正是Ta需要的知识!