Python中zipfile压缩文件模块的基本使用教程


Posted in Python onJune 14, 2020

zipfile

Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。

f=zipfile.ZipFile("test.zip",mode="")  //解压是 r , 压缩是 w 追加压缩是 a

mode的几种:

  • 解压:r
  • 压缩:w
  • 追加压缩:a 

压缩一个文件

创建一个压缩文件 test.zip(如果test.zip文件不存在) ,然后将 test.txt 文件加入到压缩文件 test.zip 中,如果原来的压缩文件中有内容,会清除原有的内容

import zipfile
try:
  with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="w") as f:
    f.write("c://users//17250//desktop//test.txt")          #写入压缩文件,会把压缩文件中的原有覆盖
except Exception as e:
    print("异常对象的类型是:%s"%type(e))
    print("异常对象的内容是:%s"%e)
finally:
    f.close()

如果要压缩的文件的路径是 c://users//17250//desktop//test.txt 这样的话,

那么最后压缩文件里面压缩的就是  users//17250//desktop//test.txt  文件了

Python中zipfile压缩文件模块的基本使用教程

向已存在的压缩文件中追加内容

import zipfile
try:
  with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="a") as f:
    f.write("e://test.txt")          #追加写入压缩文件
except Exception as e:
    print("异常对象的类型是:%s"%type(e))
    print("异常对象的内容是:%s"%e)
finally:
    f.close()

虽然原文件里面压缩的文件的路径是 users//17250//desktop//test.txt  ,但是追加进去的是 e://test2.txt 文件,那么test2.txt 文件压缩是在 users 那一级的目录。

Python中zipfile压缩文件模块的基本使用教程

解压文件

将test.zip文件解压

在python3中,解压文件的密码参数 pwd 接收的是二进制的值,所以要在前面加一个 b 。python2中接受的是str字符串的值。

import zipfile
try:
  with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="a") as f:
     f.extractall("c://users//17250//desktop//",pwd=b"root") ##将文件解压到指定目录,解压密码为root
except Exception as e:
     print("异常对象的类型是:%s"%type(e))
     print("异常对象的内容是:%s"%e)
finally:
     f.close()

高级应用

zipfile.is_zipfile(filename) 

判断一个文件是不是压缩文件 

ZipFile.namelist() 

返回文件列表 

if zipfile.is_zipfile('test.zip'): #is_zipfile() 判断是否似zip文件
  f = zipfile.ZipFile('test.zip')
  files = f.namelist() #namelist() 返回zip压缩包中的所有文件
  print(files)
  f.close()

总结

到此这篇关于Python中zipfile压缩文件模块的基本使用教程的文章就介绍到这了,更多相关Python zipfile压缩文件模块使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的Django框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
Django的分页器实例(paginator)
Dec 01 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
Python面向对象编程基础实例分析
Jan 17 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Python hashlib和hmac模块使用方法解析
Dec 08 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 Python
pandas DataFrame运算的实现
Jun 14 #Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 #Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 #Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 #Python
Django 构建模板form表单的两种方法
Jun 14 #Python
Python Django搭建网站流程图解
Jun 13 #Python
Python xpath表达式如何实现数据处理
Jun 13 #Python
You might like
php生成文件
2007/01/15 PHP
php在线打包程序源码
2008/07/27 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
php for 循环使用的简单实例
2016/06/02 PHP
JavaScript 变量基础知识
2009/11/07 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
django_orm查询性能优化方法
2018/08/20 Python
Python实现数值积分方式
2019/11/20 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
新三好学生主要事迹
2014/01/23 职场文书
行政助理的岗位职责
2014/02/18 职场文书
信息技术培训感言
2014/03/06 职场文书
环境卫生标语
2014/06/09 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python