ZIP模块
压缩模块的动作应该是 打包 -> 压缩
构造
def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
compresslevel=None, *, strict_timestamps=True):
#功能:创建一个ZipFile对象,表示一个zip文件.
#参数:
"""
-参数file表示文件的路径或类文件对象(file-like object)
-参数mode指示打开zip文件的模式,默认值为r
r 表示读取已经存在的zip文件
w 表示新建一个zip文档或覆盖一个已经存在的zip文档
a 表示将数据追加到一个现存的zip文档中。
-参数compression表示在写zip文档时使用的压缩方法
zipfile.ZIP_STORED 只是存储模式,不会对文件进行压缩,这个是默认值
zipfile.ZIP_DEFLATED 对文件进行压缩
-如果要操作的zip文件大小超过2G,应该将allowZip64设置为True 默认。
"""
创建压缩包
zf = zipfile.ZipFile("ceshi111.zip","w", zipfile.ZIP_DEFLATED)
写入文件
'''write(路径,zf.close()别名)'''
zf.write("/bin/bash","bash")
zf.write("/bin/bunzip2","bunzip2")
zf.write("/bin/cat","tmp/cat")
追加压缩文件
zf = zipfile.ZipFile("ceshi111.zip","a", zipfile.ZIP_DEFLATED)
zf.write("/bin/chmod","chmod")
zf.close()
关闭文件
zf.close()
解压文件
zf = zipfile.ZipFile("ceshi111.zip","r")
#解压的文件 解压到的位置是路径
# 解压单个文件
"""extract(文件,路径)"""
# zf.extract("bash","ceshi111")
# 解压所有文件
"""extract(路径)"""
zf.extractall("ceshi222")
zf.close()
with简化
# 用with来简化操作
with zipfile.ZipFile("ceshi111.zip","a", zipfile.ZIP_DEFLATED) as zf:
zf.write("/bin/chmod","chmod123456")
# 查看文件
with zipfile.ZipFile("ceshi111.zip","r") as zf:
lst = zf.namelist() #返回名称列表
print(lst)
标签:文件,Zip,zip,zf,zipfile,模块,ceshi111,ZIP
From: https://www.cnblogs.com/wbcde116/p/18051502