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