目录

常用函数介绍

ZipFile.getinfo(name)

ZipFile.infolist()

ZipFile.namelist()

ZipFile.extractall(member[, path[, pwd]])

ZipFile.extract(member[, path[, pwd]])

ZipFile.printdir()

ZipFile.setpassword(pwd)

ZipFile.read(name[, pwd])

ZipFile.write(filename[, arcname[, compress_type]])

ZipFile.writestr(zinfo_or_arcname, bytes)

ZipFile.getinfo(name)


常用函数介绍

ZipFile.getinfo(name)

功能:获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。

ZipFile.infolist()

功能:获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。

ZipFile.namelist()

功能:获取zip文档内所有文件的名称列表。

ZipFile.extractall(member[, path[, pwd]])

功能:将zip文档内的指定文件解压到当前目录。

参数:

  • member 指定要解压的文件名称或对应的ZipInfo对象
  • path 指定解析文件保存的文件夹
  • pwd         解压密码

实例

from zipfile import ZipFile, BadZipfilewith ZipFile(zip_path, "r") as archive:try:archive.extractall(path=extract_path, pwd=password)except BadZipfile:print("Invalid Zip file")

ZipFile.extract(member[, path[, pwd]])

功能:将zip文档内的指定文件解压到当前目录。

参数:

  • member      指定要解压的文件名称或对应的ZipInfo对象
  • path        指定解析文件保存的文件夹
  • pwd         解压密码

实例

import zipfile, oszipFile = zipfile.ZipFile(os.path.join(os.getcwd(), 'txt.zip'))
for file in zipFile.namelist():zipFile.extract(file, r'd:/Work')
zipFile.close()

ZipFile.printdir()

功能:将zip文档内的信息打印到控制台上。

ZipFile.setpassword(pwd)

功能:设置zip文档的密码。

ZipFile.read(name[, pwd])

功能:获取zip文档内指定文件的二进制数据。

例子演示了read()的使用,zip文档内包括一个txt.txt的文本文件,使用read()方法读取其二进制数据,然后保存到D:/txt.txt。

 import zipfile, oszipFile = zipfile.ZipFile(os.path.join(os.getcwd(), 'txt.zip'))
data = zipFile.read('txt.txt')#一行语句就完成了写文件操作。仔细琢磨哦~_~
(lambda f, d: (f.write(d), f.close()))(open(r'd:/txt.txt', 'wb'), data)zipFile.close()

ZipFile.write(filename[, arcname[, compress_type]])

功能:将指定文件添加到zip文档中。

参数:

  • filename      文件路径
  • arcname       添加到zip文档之后保存的名称
  • compress_type 压缩方法,它的值可以是zipfile.ZIP_STORED 或zipfile.ZIP_DEFLATED

ZipFile.writestr(zinfo_or_arcname, bytes)

功能:writestr()支持将二进制数据直接写入到压缩文档。

ZipFile.getinfo(name)

功能:返回一个ZipInfo对象,表示zip文档中相应文件的信息。

它支持如下属性:

  • ZipInfo.filename        获取文件名称。
  • ZipInfo.date_time       获取文件最后修改时间。返回一个包含6个元素的元组:(年, 月, 日, 时, 分, 秒)
  • ZipInfo.compress_type   压缩类型。
  • ZipInfo.comment         文档说明。
  • ZipInfo.extr            扩展项数据。
  • ZipInfo.create_system   获取创建该zip文档的系统。
  • ZipInfo.create_version  获取、创建zip文档的PKZIP版本。
  • ZipInfo.extract_versio  获取、解压zip文档所需的PKZIP版本。
  • ZipInfo.reserved        预留字段,当前实现总是返回0。
  • ZipInfo.flag_bits       zip标志位。
  • ZipInfo.volume          文件头的卷标。
  • ZipInfo.internal_attr   内部属性。
  • ZipInfo.external_attr   外部属性。
  • ZipInfo.header_offset   文件头偏移位。
  • ZipInfo.CRC             未压缩文件的CRC-32。
  • ZipInfo.compress_size   获取压缩后的大小。
  • ZipInfo.file_size       获取未压缩的文件大小

Python zipfile模块(压缩解压zip)相关推荐

  1. Python压缩解压zip,Django下载zip文件

    Python压缩解压zip 压缩 import zipfile def convert_zip(zip_path, save_path):'''# zip_path 要压缩文件的路径# save_pa ...

  2. android zip格式应用,Android 压缩解压zip文件

    Android 压缩解压zip文件 上次写了个解压缩功能,但有局限性,比如压缩文件xx.zip 里包括子目录的情况下,执行上次解压缩的功能就不能实现我们想要的效果,于是在网上参考了一下java的解压缩 ...

  3. VC++压缩解压zip文件(支持密码)

    只能压缩解压zip格式的,不需要dll或者库文件,核心是HZIP,支持带密码压缩解压(但是有时不完美,属于HZIP本身的问题,请不要纠结这一点). 以下为核心封装文件,建议大家下载源代码查看,下载地址 ...

  4. 使用InfoZip压缩解压zip文件

    使用InfoZip压缩解压zip文件 源码下载地址:http://download.csdn.net/detail/risingsun001/4254821 先贴部分源码: void CInfozip ...

  5. C#压缩解压zip 文件

    我在做项目的时候需要将文件进行压缩和解压缩,于是就从http://www.icsharpcode.net下载了关于压缩和解压缩的源码,但是下载下来后,面对这么多的代码,一时不知如何下手.只好耐下心来, ...

  6. C# .NET 使用DotNetZip开源类库 处理 压缩/解压 Zip 处理乱码情况

    dotNetZip on CodePlex: http://dotnetzip.codeplex.com/ 压缩/解压/重命名: //1.压缩//指定编码,防止中文乱码情况using (ZipFile ...

  7. 【分享】AspxZip v2.0 在线压缩解压ZIP文档

    下载地址: http://download.csdn.net/detail/rrrfff/5756977 当前版本:2.0.20140609 AspxZip v2.0 特点: 1.能够在支持 ASP. ...

  8. Linux的tar打包压缩解压zip/gz/bz2/xz用法细讲

    当存在大量文件目录需要整合时,我们经常会选择用tar指令将其打包在一起再进行处理. t a r 指 令 \color{blue}{tar指令} tar指令: tar ###打包文件[将多个文件放在一起 ...

  9. 压缩解压zip文件包

    import java.io.*;import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory ...

最新文章

  1. Quart 2D 绘制图形简单总结
  2. 计网链路层mac地址和ip地址缺一不可
  3. ArcSDE直连提示Server library could not be loaded解决方法
  4. 为什么说ReasonReact是编写React的最佳方式?
  5. 201709-5 除法 ccf(树状数组)
  6. Tesseract入门-VS2015下调用Tesseract4.0 +win7 64位系统
  7. zxing二维码的生成与解码(C#)
  8. Java中的关键字汇总(50个)
  9. Linux bz2 解压命令
  10. 计算机内存不足16g内存,高手亲自教你win10 16g内存显示内存不足的修复要领
  11. 超级简单基于spring boot高速公路收费系统的设计与实现.rar(含源码及数据库文件)
  12. ctfshow 密码挑战(上)
  13. 韵达快递 | 快递单号查询API
  14. iphone文件服务器权限,苹果手机怎么开启文件共享权限
  15. icns文件怎么打开_Mac快速生成icns图标文件 | kTWO-个人博客
  16. 易语言多线程崩溃解决的原因
  17. 基于MATLAB的GMSK调制解调系统的设计仿真
  18. php echo 后必须die,die 提示的消息都去哪了?
  19. tewa-800g请输入正确的管理员账户_tp-link路由器如何设置管理员身份绑定 路由器设置管理员身份绑定方法【介绍】...
  20. STC89C52电子时钟

热门文章

  1. python操作windows库_python大佬养成计划----win下对数据库的操作
  2. STM32----SysTick实现监控开机时长
  3. 基本定时器TIM6和TIM7使用
  4. 我被跨系统的换行符折磨疯了~~~
  5. gggenes绘制多物种基因结构比较
  6. 不一样 使用别名 数据字段和bean_【修炼内功】[spring-framework] [3] Bean是如何创建又是如何销毁的?...
  7. uni怎么使用原生html标签,uni-app如何完美解析富文本内容
  8. python读awx文件_ansible awx用法
  9. cuda笔记-一个Block多线程求卷积
  10. Arduino笔记-Rouch Sensor的使用