栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python zipfile 压缩文件夹的方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python zipfile 压缩文件夹的方法

import os
import zipfile


# 这一部分只是用来解释os.walk的用法,在该脚本运行时不需执行------start
dirpath = r'f:105Europe_outputchinaocean'  # 这里指定需要压缩的文件夹
for path, dirnames, filenames in os.walk(dirpath):  # 遍历文件夹及下面的子文件夹,path、dirnames、filenames依次是路径、目录名称、文件名称。
# path是当前路径,dirnames是在当前路径下有文件夹时,给出文件夹名的列表,filenames是在当前路径下有文件时,给出文件名的列表
# 之后进入列表dirnames中的第一个文件夹,重复上述过程。
    # 下面print出来可以更好体会os.walk的用法
    print(path)
    print(dirnames)
    print(filenames)
    fpath = path.replace(dirpath, '')  # 把主路径去掉,只保留分路径,这样在压缩文件时就不会把需要压缩的文件夹的上层路径压缩进去
    print(fpath)
# 这一部分只是用来解释os.walk的用法,在该脚本运行时不需执行------end


def getZipDir(dirpath, outFullName):
    """
    压缩指定文件夹
    :param dirpath: 目标文件夹路径
    :param outFullName: 压缩文件保存路径+xxxx.zip
    :return: 无
    """
    zip = zipfile.ZipFile(outFullName, "w", zipfile.ZIP_DEFLATED)  # outFullName为压缩文件的完整路径
    for path, dirnames, filenames in os.walk(dirpath):
        # 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩
        fpath = path.replace(dirpath, '')

        for filename in filenames:
            zip.write(os.path.join(path, filename), os.path.join(fpath, filename))
    zip.close()


if __name__ == '__main__':
    areas = ['chinaocean', 'NWPacific', 'NEPacific', 'SWPacific', 'SEPacific', 'IndianOcean']
    for area in areas:
        getZipDir('F:/0105/json_output/' + area, 'F:/0105/json_output/' + area + '.zip')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753487.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号