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 18 Python
浅析Python中signal包的使用
Nov 13 Python
在CentOS6上安装Python2.7的解决方法
Jan 09 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 Python
【python】matplotlib动态显示详解
Apr 11 Python
python多线程并发及测试框架案例
Oct 15 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
基于python 凸包问题的解决
Apr 16 Python
python中np是做什么的
Jul 21 Python
python如何绘制疫情图
Sep 16 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使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
js实现简单进度条效果
2020/03/25 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
python读写LMDB文件的方法
2018/07/02 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
python实现淘宝购物系统
2019/10/25 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
python如何调用百度识图api
2020/09/29 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
农救科工作职责
2013/11/27 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
写给父母的感谢信
2015/01/22 职场文书
律师函格式范本
2015/05/27 职场文书
重阳节简报
2015/07/20 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
详解Python函数print用法
2021/06/18 Python
Pygame Draw绘图函数的具体使用
2021/11/17 Python
如何解决php-fpm启动不了问题
2021/11/17 PHP
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers