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两种遍历字典(dict)的方法比较
May 29 Python
python去掉行尾的换行符方法
Jan 04 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
tensorflow实现简单的卷积神经网络
May 24 Python
pytorch 修改预训练model实例
Jan 18 Python
使用python的pyplot绘制函数实例
Feb 13 Python
python程序需要编译吗
Jun 19 Python
python 常见的反爬虫策略
Sep 27 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 Python
详解python的内存分配机制
May 10 Python
Pygame Time时间控制的具体使用详解
Nov 17 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安装为Apache DSO
2006/10/09 PHP
收集的php编写大型网站问题集
2007/03/06 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
yii分页组件用法实例分析
2015/12/28 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
js面向对象编程总结
2017/02/16 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
python 提取文件的小程序
2009/07/29 Python
python自定义类并使用的方法
2015/05/07 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
Python的两道面试题
2013/06/29 面试题
班子成员四风问题自我剖析材料
2014/09/29 职场文书
幼儿学前班评语
2014/12/29 职场文书
大学生助学金感谢信
2015/01/21 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
同事离别感言
2015/08/04 职场文书
事业单位岗位说明书
2015/10/08 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python