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发送邮件接收邮件示例分享
Jan 21 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
Python科学计算之NumPy入门教程
Jan 15 Python
Django入门使用示例
Dec 12 Python
python微信跳一跳游戏辅助代码解析
Jan 29 Python
对命令行模式与python交互模式介绍
May 12 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
python程序中的线程操作 concurrent模块使用详解
Sep 23 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
python def 定义函数,调用函数方式
Jun 02 Python
python中entry用法讲解
Dec 04 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数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
小程序实现tab标签页
2020/11/16 Javascript
python实现代理服务功能实例
2013/11/15 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
python机器学习之KNN分类算法
2018/08/29 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
详解Python的循环结构知识点
2019/05/20 Python
python 经典数字滤波实例
2019/12/16 Python
联想台湾官网:Lenovo TW
2018/05/09 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
积极分子思想汇报
2014/01/04 职场文书
教学实习自我评价
2014/01/28 职场文书
公开承诺书格式
2014/05/21 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python