包导入
import zipfile
创建实例化对象
zFile = zipfile.ZipFile(filename,mode = 'r')
mode表示包打开的模式,默认为读(‘r’),还可以是写(‘w’,’a’)。
向包内写入文件
zFile.write(path1,path2,compress_type)
将path1指向的文件写到包的path2目录下。compress_type表示压缩类型(zipfile.ZIP_STORED,zipfile.ZIP_DEFLATED,前者表示“保存但不压缩”,后者表示“保存并压缩”)
为包设置密码
zFile.setpassword(pwd)
关闭文件
zFile.close()
修改包内文件
zFile.writestr(filename,data)
以二进制的向包内filename文件写入data
读取包内文件信息
zFile.printdir() 格式输出文件内容
zFile.namelist() 返回文件名列表
zFile.infolist() 返回ZipInfo列表(含有filename,file_size,header_offset(文件大小在包内的偏移量))
zFile.read(filename,pwd) 读取包内指定文件内容。密码为pwd
解压文件
1.
zFile.extract(member,path,pwd) 将member解压到path指向的目录下,密码为pwd
member可是是filename,也可以是zipinfo对象
2.
zFile.extractall(path,members,pwd) 将members指向的文件集合解压到path下。members默认为所有文件