zipfile 是python的一个内置模块,专门用于压缩文件和解压文件。这里我们仅需要用到模块里面压缩文件的内容。
import zipfile
def zipDir(dirpath,outFULLName):
zip=zipfile.ZipFile(outFULLName,'w',zipfile.ZIP_DEFLATED)
for path,dirnames,filenames in os.walk(dirpath):
fpath=path.replace(dirpath,"")
for filename in filenames:
zip.write(os.path.join(path,filename),os.path.join(fpath,filename))
#zip.close()
zipDir(r"G:\Airtest\report\2021-04-26_10_04_50.html",r"G:\Airtest\report\2021-04-26_10_04_50.html\log.zip")
ZipFile() 用于创建1个 zip 文件对象,示例中的三个参数分别表示:
filename:压缩成的zip包的路径(含压缩包名称);例如:xxx.zip
mode:可选 r,w,a ,代表不同的打开文件的方式;r只读;w重写;a添加
compression:指出这个 zipfile 的压缩方法,默认是 ZIP_STORED ,另一种是 ZIP_DEFLATED
ZipFile.write() 用于将指定文件添加到zip文档中,示例中的两个参数分别表示:
filename:需要压缩的文件名
arcname:添加到zip文档之后保存的名称
遍历文件
from pathlib import Path
p=Path(r"G:\Airtest\report\2021-04-26_10_04_50.html\Demp.log")
for p in p.rglob("*.png"):
print(str(p))