Python压缩模块zipfile实现原理及用法解析


Posted in Python onAugust 14, 2020

一、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目录

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动登录126邮箱的方法
Jul 10 Python
Python每天必学之bytes字节
Jan 28 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
Python实现时间序列可视化的方法
Aug 06 Python
pytorch 自定义数据集加载方法
Aug 18 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
Python ADF 单位根检验 如何查看结果的实现
Jun 03 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
Python编写memcached启动脚本代码实例
Aug 14 #Python
Python自动巡检H3C交换机实现过程解析
Aug 14 #Python
基于python调用jenkins-cli实现快速发布
Aug 14 #Python
使用tensorflow进行音乐类型的分类
Aug 14 #Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 #Python
如何真正的了解python装饰器
Aug 14 #Python
详解python metaclass(元类)
Aug 13 #Python
You might like
MySQL修改密码方法总结
2008/03/25 PHP
php flv视频时间获取函数
2010/06/29 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python Django view 两种return的实现方式
2020/03/16 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
乐山大佛导游词
2015/02/02 职场文书
大一学生个人总结
2015/02/15 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server