Python学习笔记--Python基础-09-常用模块zip
程序员文章站
2022-05-31 17:27:14
...
常用模块
- calendar
- time
- datetime
- timeit
- os
- shutil
- zip
- math
- string
- 上述所有模块使用理论上都应该先导入,string是特例
- calendar,time,datetime的区别参考中文意思
zip - 压缩包
- 模块名称叫 zipfile
import zipfile
#zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
# 创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,默认值为’r’,表示读已经存在的zip文件,也可以为’w’或’a’,’w’表示新建一个zip文档或覆盖一个已经存在的zip文档,’a’表示将数据附加到一个现存的zip文档中。参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。
zf = zipfile.ZipFile("E:\\Python\\io.zip",'r')
print(zf)
<zipfile.ZipFile filename='E:\\Python\\io.zip' mode='r'>
# ZipFile.namelist()
# 获取zip文档内所有文件的名称列表。
nl = zf.namelist()
print(nl)
# # 返回该zip的文件名
print(azip.filename)
['io/io.txt', 'io/io2.txt', 'io/'] 'E:\\Python\\io.zip'
# ZipFile.getinfo(name):
# 获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。
rst = zf.getinfo("io/io.txt")
print(rst)
# 原来文件大小
print(rst.file_size)
# 压缩后大小
print(rst.compress_size)
<ZipInfo filename='io/io.txt' external_attr=0x20 file_size=11> 11 11
解压Zip
最为关键的功能,一句搞定。默认解压在当前工作目录,可以指定解压目录。
# ZipFile.extractall([path[, members[, pwd]]])
# 解压zip文档中的所有文件到当前目录。参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。
zf.extractall()