• zipfile 模块的使用


    1.压缩文件

    path = 'C:\UsersAdministratorDesktop\apache-tomcat-8.5.31logscatalina.2018-08-27.log' #要压缩的文件路径
    zipf = zipfile.ZipFile(path[:-4]+'.zip', 'w') #第一个参数:压缩后文件的路径名称
    zipf.write(path, 'test\1.log') #第二个参数,压缩后的文件路径名称(如果不写,则默认为path路径+path路径。 强烈建议写上!本人就是因为这个原因才写本次博)
    zipf.close() #关闭流

    2.压缩文件夹

    zipPath = 'd:\1'
    zipf = zipfile.ZipFile(zipPath+'.zip', 'w')
    for file in os.listdir(zipPath):
        print(zipPath+os.sep+file)
        zipf.write(os.path.join(zipPath, file), file)
    zipf.close() #放外层,不然会关闭流
    shutil.move(zipPath+'.zip', 'd:\1\log.zip') #移动文件到指定目录下
     

    具体函数介绍

    ZipFile(filename[,mode[,compression[,allowZip64]]])

    • filename:文件对象;例如:’xxx.zip’
    • mode:可选r,w,a代表不同的打开文件的方式;r只读;w重写;a添加;
    • compression:指出这个zipfile用什么压缩方法,默认是ZIP_STORED,另一种选择是ZIP_DEFLATED;
    • allowZip64:是个bool型变量,当设置为True的时候就是说可以用来创建大小大于2G的zip文件,默认值是True;

    ZipFile.write(filename[, arcname[, compress_type]])

    将指定文件添加到zip文档中。

    filename为文件路径,arcname为添加到zip文档之后保存的名称,参数compress_type表示压缩方法,它的值可以是zipfile.ZIP_STORED或zipfile.ZIP_DEFLATED

    另记录 os.sep 方法: 文件分隔符,适配windows和linux系统

    2.解压文件

    z = zipfile.ZipFile('C:\UsersAdministratorDesktop\apache-tomcat-8.5.31logslocalhost.2018-06-08.zip', 'r')
    print(z.read(z.namelist()[0])) 

      

  • 相关阅读:
    天梯赛5-12 愿天下有情人都是失散多年的兄妹 【dfs】
    poj2718 Smallest Difference【贪心】
    HDU problem 5635 LCP Array【思维】
    codeforces 782C Andryusha and Colored Balloons【构造】
    HDU 4278 Faulty Odometer【进制转换】
    codeforces B. The Meeting Place Cannot Be Changed【二分】
    POJ 3264 Balanced Lineup 【线段树】
    HDU 1850
    CodeForces-714C
    HDU Problem 1247 Hat's Words 【字典树】
  • 原文地址:https://www.cnblogs.com/xiaoyii/p/9546753.html
Copyright © 2020-2023  润新知