目录
ZipFile.extractall(member[,path[,pwd]])
ZipFile.extract(member[,pwd]])
ZipFile.write(filename[,arcname[,compress_type]])
ZipFile.writestr(zinfo_or_arcname,bytes)
常用函数介绍
ZipFile.getinfo(name)
功能:获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。
ZipFile.infolist()
功能:获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。
ZipFile.namelist()
ZipFile.extractall(member[,pwd]])
参数:
实例
from zipfile import ZipFile,BadZipfile
with ZipFile(zip_path,"r") as archive:
try:
archive.extractall(path=extract_path,pwd=password)
except BadZipfile:
print("Invalid Zip file")
ZipFile.extract(member[,pwd]])
参数:
实例
import zipfile,os
zipFile = 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])
例子演示了read()的使用,zip文档内包括一个txt.txt的文本文件,使用read()方法读取其二进制数据,然后保存到D:/txt.txt。
import zipfile,'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[,compress_type]])
参数:
- 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 获取未压缩的文件大小
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。