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中的RSS处理
Apr 13 Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
Nov 30 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
django框架cookie和session用法实例详解
Dec 10 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
通过实例简单了解python yield使用方法
Aug 06 Python
Django websocket原理及功能实现代码
Nov 14 Python
python文件与路径操作神器 pathlib
Apr 01 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/11/02 PHP
php adodb分页实现代码
2009/03/19 PHP
php函数的常用方法及注意之处小结
2011/07/10 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
Python数据可视化图实现过程详解
2020/06/12 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
python实现视频压缩功能
2020/12/18 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
垃圾桶标语
2014/06/24 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
门面房租房协议书
2014/12/01 职场文书
高中班主任心得体会
2016/01/07 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫