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实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
python实现支付宝转账接口
May 07 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
pytorch之ImageFolder使用详解
Jan 06 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 Python
用Python简陋模拟n阶魔方
Apr 17 Python
详解python字符串驻留技术
May 21 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
mysq GBKl乱码
2006/11/28 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
PHP引用的调用方法分析
2016/04/25 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
移动节点的jquery代码
2014/01/13 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
nodejs如何在package.json中设置多条启动命令
2020/03/16 NodeJs
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
python连接oracle数据库实例
2014/10/17 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
python中id函数运行方式
2020/07/03 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
英语文学专业学生的自我评价
2013/10/31 职场文书
技校生自我鉴定
2013/12/08 职场文书
诚信承诺书模板
2014/05/26 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android