zipfile模块:zip格式编码的压缩和解压缩
ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。
ZipFile是主要的类,用来创建和读取zip文件。
而ZipInfo是存储的zip文件的每个文件的信息的。
import zipfile
z = zipfile.ZipFile(filename, 'r')
for i in z.infolist():
# z.infolist() :返回压缩包内所有文件的信息,ZipInfo的列表。
# 常用: filename, file_size, header_offset, 分别为文件名,文件大小,文件数据在压缩包中的偏移
print i.file_size, i.header_offset
压缩
f=zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)
# 创建一个zip文件对象,压缩:把mode改为‘w’,Open the ZIP file with mode read "r", write "w" or append "a"。
f.write(filename) # z.write("test/111.txt", "test22/111.txt")
# 文件压缩:将文件写入zip文件中,
f.close() ## important!!!
# 将zip文件对象关闭,与open一样可以使用上下文with as
解压: f.extract(directory) 和 f.extractall(directory)
import zipfile
f = zipfile.ZipFile('test.zip')
f.extractall('channel') #将所有文件解压到channel目录下
高级
pythonzipfile.is_zipfile(filename)
# 判断一个文件是不是压缩文件
ZipFile.namelist()
# 返回文件列表
ZipFile.open(name[, mode[, password]])
# 打开压缩文档中的某个文件