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之引用和类属性的初步理解
May 15 Python
详解Python2.x中对Unicode编码的使用
Apr 03 Python
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
Jun 13 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
python文件选择对话框的操作方法
Jun 27 Python
Python Django 封装分页成通用的模块详解
Aug 21 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
Python pip安装模块提示错误解决方案
May 22 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 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中实现进程间通讯
2006/10/09 PHP
PHP随机数生成代码与使用实例分析
2011/04/08 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP实现简单的计算器
2020/08/28 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
删除节点的jquery代码
2014/01/13 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
Angular数据绑定机制原理
2018/04/17 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
多版本Python共存的配置方法
2017/05/22 Python
python简易远程控制单线程版
2018/06/20 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python批量爬取下载抖音视频
2019/06/17 Python
Python3并发写文件与Python对比
2019/11/20 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
八项规定整改方案
2014/02/21 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年药房工作总结
2015/04/25 职场文书
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android