专业的编程技术博客社区

网站首页 > 博客文章 正文

python笔记51:压缩文件夹- zipfile模块速解

baijin 2024-08-31 16:17:31 博客文章 4 ℃ 0 评论

主要内容:

  • 小目标:掌握文件夹的解压缩
  • 主要内容:zipfile模块使用

如果看完这篇文章,你还是弄不明白解压缩;

你来找我,我保证不打你,我给你发100的大红包。

1. zipfile模块

上才艺,zipfile模块主要方法:

zipfile.ZipFile(file,mode='r',compression=0,
    allowZip64=True, compresslevel=None,)

主要参数:



压缩方式:



  • zipfile对象的相关方法

方法说明:



2 压缩文件

上才艺:准备一个目录,主要使用zipfile,os模块,然后开造:

#导入模块
import zipfile,os
zippath = r'F:\work\test.zip'
srcpath = r'F:\work\testdir'
#获取基础目录testdir
basedir = os.path.basename(srcpath)
#创建zipfile对象
with zipfile.ZipFile(zippath, 'w') as fzip:
    #遍历目录
    for root, subdir, flist in os.walk(srcpath):
        #根据当前目录切分,否则写入目录会比较多
        r, c= root.split(basedir)
        c = c.strip('\\')
        for f in flist:
            #压缩文件,压缩中,zipfile对象会根据路径创建目录
            fzip.write(os.path.join(root, f), os.path.join(basedir,c,f))

结果:生成test.zip压缩包。

解压文件

解压与压缩相反,开造:

  • 一次性解压
#导入模块
import zipfile,os
zippath = r'F:\work\test.zip'
destpath = r'F:\work\test1dir'

#创建zipfile对象
with zipfile.ZipFile(zippath, 'r') as fzip:
    #文件全部加压缩到destpath目录
    fzip.extractall(destpath)
  • 直接压符合规则的图片
#导入模块
import zipfile,os
zippath = r'F:\work\test.zip'
destpath = r'F:\work\test1dir'

#创建zipfile对象
with zipfile.ZipFile(zippath, 'r') as fzip:
    #遍历压缩包中的文件
    for f in fzip.namelist():
        #判断是否png图片
        if f.endswith('.png'):
            #解压到指定目录
            fzip.extract(f, destpath)

可以看到,使用Python处理解压缩,并不复杂。

实际工作中,我们可以使用这种方式来代替手动解压。

后面猫猫也在准备更多实战案例,在工作和学习中可以当做一个参考。

欢迎大家:关注+转发+评论。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表