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抓取电影天堂电影信息的代码
Apr 07 Python
Python编码爬坑指南(必看)
Jun 10 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
PyQt5每天必学之切换按钮
Aug 20 Python
Python爬虫——爬取豆瓣电影Top250代码实例
Apr 17 Python
总结Python图形用户界面和游戏开发知识点
May 22 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 Python
Jupyter Notebook输出矢量图实例
Apr 14 Python
如何完美的建立一个python项目
Oct 09 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 Python
pycharm 如何查看某一函数源码的快捷键
May 12 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
用session做客户验证时的注意事项
2006/10/09 PHP
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
PHP数据缓存技术
2007/02/14 PHP
php实现无限级分类
2014/12/24 PHP
php单例模式示例分享
2015/02/12 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Angular2安装angular-cli
2017/05/21 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
python实现视频分帧效果
2019/05/31 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
春节联欢会策划方案
2014/05/16 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
客户答谢会致辞
2015/01/20 职场文书
介绍长城的导游词
2015/01/30 职场文书
小学生暑假生活总结
2015/07/13 职场文书
小学数学教学随笔
2015/08/14 职场文书