python zipfile 压缩zip文件和解压zip文件

本文记录python 利用模块zipfile实现对文件的压缩机解压处理,对应日常的工作能提供很大的便利性

1:文件压缩成zip

author:he
qq:760863706
python:3.5
date:2018-9-20

from pathlib import Path
import zipfile

def create_zip(dir,new_zip):
    # dir 待处理文件夹或文件
    # new_zip 生成目录zip文件
    file_lists = []
    # 实例
    p = Path(dir)
    if p.is_file():
        file_lists.append(p)
    else :
        # 遍历文件夹
        filelist = list(p.glob('**/*'))
        for file in filelist:
            # 获取到的文件添加到列表中
            if Path.is_file(file):file_lists.append(file)
    #实例化,mode为 'w' 表示对zip文件清空后添加,'a'表示对zip文件追加的方式添加,allowZip64为True表示可压缩大于2G文件
    zip = zipfile.ZipFile(new_zip,mode='w',compression=zipfile.ZIP_STORED,allowZip64=False)
    for filename in file_lists:
        #获取文件名
        arcname = Path(filename).name
        #windowPath转str
        zip.write(str(filename),arcname)
    zip.close()

2:zip文件解压

from pathlib import Path
import zipfile

def unzip(zpath,to_dir):
    # zpath 待处理zip文件
    # to_dir 目标文件夹
    # 创建目标文件夹
    Path(to_dir).mkdir(parents=True, exist_ok=True)
    #实例化
    zip = zipfile.ZipFile(zpath)
    #一次性全部解压
    # zip.extractall(path=to_dir)
    # zip.close()
    for file in zip.namelist():
        #单次解压
        zip.extract(file,path=to_dir)
    zip.close()

本文模块pathlib 需要满足python3.4以上,pathlib用起来感觉很多方面比os处理更便捷

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值