Python压缩模块zipfile实现原理及用法解析
一、python压缩模块简介
python直接通过内置压缩模块可以直接进行压缩文件的创建;
内置模块 zipfile/rarfile 完成压缩文件的操作。
二、 zipfile模块基础使用
2.1 对一个文件进行zip压缩
# 把当前目录的test.txt文件压缩到a.zip压缩包中 import zipfile f = zipfile.ZipFile('a.zip', 'w', zipfile.ZIP_DEFLATED) f.write('test.txt') f.close()
上述代码中:
- a.zip是压缩后要保存的文件名
- w 表示写入压缩文件的含义
- ZIP_DEFLATED表示压缩;ZIP_STORE表示只打包,不压缩(类似Linux中的gz跟tar格式)
- write方法:目前填写的参数 test.txt 为当前目录下的文件,它表示要压缩的文件。
2.2 对一个zip压缩文件进行解压缩
# 把当前目录的a.zip压缩包中的test.txt进行解压 import zipfile f = zipfile.ZipFile('a.zip','r') f.extract('test.txt')
上述代码中:
a.zip 是当前目前下的压缩包文件,该压缩包目前只压缩了一个 test.txt 文件
extract() 方法的作用就用来进行解压缩,参数填写的是 a.zip 压缩包中必须包含的文件名信息
如果我不知道压缩包中包含了什么文件信息,那就比较麻烦。可以用namelist()方法解决,如下2.3
2.3 对一个zip压缩文件中的所有文件进行解压缩
import zipfile f = zipfile.ZipFile('a.zip','r') for file in f.namelist(): f.extract(file,'./temp')
上述代码中:
namelist()方法返回压缩包中包含的所有文件信息,返回值为 list 类型
通过循环的方式把所有都进行解压到 当前目录下的temp目录
相关推荐
CloudXli 2020-08-16
wordmhg 2020-07-16
benico 2020-07-04
qianjq 2020-07-03
pythonxuexi 2020-06-22
fenxinzi 2020-06-16
Attend 2020-05-27
pengkunstone 2020-05-16
adsadadaddadasda 2020-05-04
Nicolase 2020-05-01
citic 2020-04-26
codeAB 2020-03-03
linuxisperfect 2020-03-03
Havshark 2020-01-21
SDUTACM 2020-01-10
PHP学习笔记 2020-01-06
lianshaohua 2013-04-10