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脚本实现DNSPod DNS动态解析域名
Feb 14 Python
进一步探究Python中的正则表达式
Apr 28 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
微信跳一跳自动运行python脚本
Jan 08 Python
Python for循环生成列表的实例
Jun 15 Python
设置python3为默认python的方法
Oct 31 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
基于python plotly交互式图表大全
Dec 07 Python
Python基于requests实现模拟上传文件
Apr 21 Python
python和php哪个容易学
Jun 19 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
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
JavaScript OOP面向对象介绍
2010/12/02 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
JS实现的简单拖拽功能示例
2017/03/13 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
python中常用的九种预处理方法分享
2016/09/11 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
基于python中theano库的线性回归
2018/08/31 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
计算机应用职专应届生求职信
2013/11/12 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
村官个人总结范文
2015/03/03 职场文书
工作服管理制度范本
2015/08/06 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python