python一次性解壓多層嵌套zip壓縮包


zip包里的結構不是固定的,有可能只需要解壓一次就完成了,有可能解壓后里面還存在zip文件,需要繼續進行解壓縮

寫了個簡單的遞歸函數來實現解壓非固定結構zip包,若解壓后的zip子目錄下仍含有zip文件,則調用自身繼續進行解壓操作

解壓函數unzip通過傳入壓縮文件所在絕對目錄和壓縮文件名進行解壓操作

解壓文件為C:\Users\xiangmin\Downloads\1522226134736.zip

import zipfile,os
def unzip(path,zfile):
    file_path=path+os.sep+zfile
    desdir=path+os.sep+zfile[:zfile.index('.zip')]
    srcfile=zipfile.ZipFile(file_path)
    for filename in srcfile.namelist():
        srcfile.extract(filename,desdir)
        if filename.endswith('.zip'):
            # if zipfile.is_zipfile(filename):
            path=desdir
            zfile=filename
            unzip(path,zfile)

path=r'C:\Users\xiangmin\Downloads'
zfile=r'1522226134736.zip'
unzip(path,zfile)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM