本文作者:胡 婧
文字编辑:宁刘莹
技术总编:张 邯
本文将介绍Python中对zip压缩包的处理方法,其中包括查看压缩包中包含的文件信息、将压缩包里的部分或全部文件解压缩至指定路径下以及将某路径下的文件添加至压缩包中。这需要用到Python中内置的zipfile模块。
首先导入zipfile模块:
In [1]: import zipfile
zipfile模块有两个类,分别为:zipfile.ZipFile以及zipfile.ZipInfo。
一、zipfile.ZipFile
1.压缩文件的读入
对于压缩文件的读取、编写以及添加可以使用以下方法:
zipfile.ZipFile(file[, mode[, compression[,allowZip64]]])
其中,file指要读取、编写或者添加的压缩文件的路径以及名称。
mode表示打开该压缩文件的方式(包括:“r”、“w”、“a”),默认为“r”。“r”表示读取该压缩文件,如果我们指定路径下没有该文件就会报错。在“r”模式下,只对文件进行读取,不能对文件进行添加或修改;“w”表示创建一份新的压缩文件,如果我们指定路径下已存在同名的压缩文件,则会将原来的压缩文件覆盖掉;“a”表示在原有压缩文件的基础上进行修改以及添加,如果指定的路径下没有该压缩文件则创建一个新的压缩文件。所以当我们想在原有压缩文件的基础上新压缩一些文件进去,只能使用“a”模式,因为使用“w”模式,会把原有的文件统统覆盖掉。
compression表示压缩方式,分别为: zipfile.ZIP_STORED 、zipfile.ZIP_DEFLATED、zipfile.ZIP_BZIP2以及zipfile.ZIP_LZMA,默认为zipfile.ZIP_STORED。这四种方式是压缩文件的四种方式,本文不做过多解释,通常情况下不需要设置。
当文件超过4GB时需要将allowZip64设置为True,但默认情况就是True,所以