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 23 Python
Python处理json字符串转化为字典的简单实现
Jul 07 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
Python中安装easy_install的方法
Nov 18 Python
PyQt4实时显示文本内容GUI的示例
Jun 14 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python列表倒序输出及其效率详解
Mar 04 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
python 常见的排序算法实现汇总
Aug 21 Python
python基础之while循环语句的使用
Apr 20 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 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
桌面中心(四)数据显示
2006/10/09 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
eclipse php wamp配置教程
2016/06/30 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
Python生成密码库功能示例
2017/05/23 Python
Python实现句子翻译功能
2017/11/14 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
Keras loss函数剖析
2020/07/06 Python
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
后勤副校长自我鉴定
2013/10/13 职场文书
生产内勤岗位职责
2013/12/07 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
国培远程培训感言
2014/03/08 职场文书
工厂标语大全
2014/10/06 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
暂停营业通知
2015/04/25 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python