- 小目标:掌握文件夹的解压缩
- 主要内容:zipfile模块使用
如果看完这篇文章,你还是弄不明白解压缩;
你来找我,我保证不打你,我给你发100的大红包。
1. zipfile模块上才艺,zipfile模块主要方法:
zipfile.ZipFile(file,mode='r',compression=0,
allowZip64=True, compresslevel=None,)
主要参数:
zipFile参数
压缩方式:
压缩方式
- zipfile对象的相关方法
方法说明:
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处理解压缩,并不复杂。
实际工作中,我们可以使用这种方式来代替手动解压。
后面猫猫也在准备更多实战案例,在工作和学习中可以当做一个参考。
欢迎大家:关注 转发 评论。
,