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实现拼接多张图片的方法
Dec 01 Python
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
python如何对实例属性进行类型检查
Mar 20 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
浅谈python常用程序算法
Mar 22 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 Python
python urllib和urllib3知识点总结
Feb 08 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 Python
Python使用pyecharts控件绘制图表
Jun 05 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安全性漫谈
2012/06/28 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
PHP网页安全认证的实例详解
2017/09/28 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
jQuery 性能优化指南 (1)
2009/05/21 Javascript
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
评职称个人总结
2015/03/05 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
运动会通讯稿600字
2015/07/20 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技