python中處理zip文件包zipfile的使用


zipfile包是python中用來處理zip文件壓縮和解壓縮的

一、導包

import zipfile

二、zipfile.ZipFile類

  •  z = ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=True,compresslevel=None) 

    • file:文件名
    • mode:模式可以是'r', 'w', 'x' 或者'a'
    • compression:壓縮,默認ZIP_STORED(無壓縮),其他可以為ZIP_DEFLATED (zlib)、ZIP_BZIP2 (bz2) or ZIP_LZMA (lzma)
    • allowZip64:是個bool型變量,當設置為True的時候就是說可以用來創建大小大於2G的zip文件,默認值是True
    • compresslevel:壓縮級別
  • 解壓縮(mode為'r')

    • z = ZipFile('iig.zip')
    • z.namelist()
      • 以列表的形式顯示壓縮文件iig.zip中的所有文件名
        z.namelist()
        Out: 
        ['Change_log_data.csv',
         'Change_Log_Data.xls',
         'IIR_OCOMM.csv',
         'IIR_OCOMM.xls']
    • z.extract(member, path=None, pwd=None)
      • 解壓某個文件到指定path下,如果該path目錄不存在,則自動創建,pwd為解壓密碼
        z.extract('IIR_OCOMM.csv','./test')
        Out: 'test\\IIR_OCOMM.csv'

        將IIR_OCOMM.csv文件解壓縮到當前目錄test文件夾下,不存在,自動創建test文件夾

    • z.extractall(path=None, members=None, pwd=None)
      • 默認解壓z.namelist()中的所有文件到指定目錄下,目錄不存在則自動創建,pwd為解壓密碼,members參數也可以指定,但必須是z.namelist()的子集
    • z.close()    #和文件操作一樣,最后必須調用close()方法
  • 壓縮(模式'w')

    • z = zipfile.ZipFile('test.zip','w')  #壓縮后的文件名為test.zip
    • z.write(filename, arcname=None, compress_type=None, compresslevel=None)
      • filename指的是需要壓縮的文件名
      • 將當前目錄下iig文件夾下的所有文件壓縮到test.zip文件中(實際就是壓縮文件夾)
        for filename in os.listdir('./iig'):
            z.write('./iig/'+filename)
      • 如果是壓縮某個文件,比如z.write('./IIR_OCOMM.csv')

    • z.close() 最后必須調用close()方法


免責聲明!

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



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