python3压缩当前目录所有文件

这两天工作时有个需要将图片打包下载的需求,研究了一下,分享出来给有需要的小伙伴

  • 首先导入工具
import os,zipfile
# 压缩文件
def toZip(startdir):
'''startdir:要压缩文件夹的绝对路径 '''
    file_news = startdir + '.zip'  # 压缩后文件夹的名字
    z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_DEFLATED)  # 参数一:文件夹名
    for dirpath, dirnames, filenames in os.walk(startdir):
            fpath = dirpath.replace(startdir, '')  # 这一句很重要,不replace的话,就从根目录开始复制
            fpath = fpath and fpath + os.sep or ''  # 这句话理解我也点郁闷,实现当前文件夹以及包含的所有文件的压缩
        for filename in filenames:
            z.write(os.path.join(dirpath, filename), fpath + filename)
            print('压缩成功')
    z.close()
    return file_news