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字典序问题实例
Sep 26 Python
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
Python中使用copy模块实现列表(list)拷贝
Apr 14 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
python 计算文件的md5值实例
Jan 13 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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
PHP会员找回密码功能的简单实现
2016/09/05 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
限制复选框的最大可选数
2006/07/01 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
理解python正则表达式
2016/01/15 Python
python 排序算法总结及实例详解
2016/09/28 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python多线程获取返回值代码实例
2020/02/17 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
网管求职信
2014/03/03 职场文书
大学社团计划书
2014/05/01 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
离婚答辩状范文
2015/05/22 职场文书
音乐之声观后感
2015/06/04 职场文书
2016年寒假家长评语
2015/10/10 职场文书
委托书范本格式
2019/04/18 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书