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 14 Python
python 的列表遍历删除实现代码
Apr 12 Python
Python中标准模块importlib详解
Apr 16 Python
Python简单网络编程示例【客户端与服务端】
May 26 Python
老生常谈Python序列化和反序列化
Jun 28 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 Python
numpy.transpose()实现数组的转置例子
Dec 02 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
基于python实现检索标记敏感词并输出
May 07 Python
使用Python-OpenCV消除图像中孤立的小区域操作
Jul 05 Python
利用Python实现Json序列化库的方法步骤
Sep 09 Python
Jupyter Notebook安装及使用方法解析
Nov 12 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 正则表达式小结
2009/08/31 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
jQuery 性能优化指南(2)
2009/05/21 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
快速入门Vue
2016/12/19 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python openpyxl使用方法详解
2019/07/18 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
python 装饰器的使用示例
2020/10/10 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
品酒会策划方案
2014/05/26 职场文书
学校四群教育实施方案
2014/06/12 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python