python如何压缩新文件到已有ZIP文件

yipeiwu_com6年前Python基础

本文为大家分享了python压缩新文件到已有ZIP文件的具体代码,供大家参考,具体内容如下

要点在于使用Python标准库zipfile创建压缩文件时,如果使用'a'模式时,可以追加新内容。

from zipfile import ZipFile
from os import listdir
from os.path import isfile, isdir, join

def addFileIntoZipfile(srcDir, fp):
 #遍历该文件夹中所有文件
 for subpath in listdir(srcDir):
 subpath = join(srcDir, subpath)
 if isfile(subpath):
  #如果是文件就直接压缩到ZIP文件
  fp.write(subpath)
 elif isdir(subpath):
  #如果是子文件夹就先写入子文件夹名
  #然后再递归调用函数
  #把所有文件都压缩进入ZIP文件
  fp.write(subpath)
  addFileIntoZipfile(subpath, fp)

def zipCompress(srcDir, desZipfile):
 with ZipFile(desZipfile, mode='a') as fp:
 addFileIntoZipfile(srcDir, fp)

#测试函数功能
paths = [r'C:\python34\Scripts', r'C:\python34\Dlls', r'c:\eclipse']
for path in paths:
 zipCompress(path, 'test.zip') 

来源:python小屋

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用Flask框架获取当前查询参数的方法

本文实例讲述了Python使用Flask框架获取当前查询参数的方法。分享给大家供大家参考。具体如下: 这段代码实现Python的Flask框架下获取当前查询参数,即QueryString...

Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录

简介: MongoEngine 是一个Document-Object Mapper (想一下ORM, 但它是针对文档型数据库),Python通过它与MongoDB交互。你可能会说那PyM...

python之super的使用小结

为什么需要super 在python没有引入super之前, 如果需要在子类中引用父类的方法, 一般写法如下: class Father: def whoami(self):...

启动targetcli时遇到错误解决办法

 启动targetcli时遭遇ImportError: cannot import name ALUATargetPortGroup故障 targetcli是一个iSCSI配置...

Python求导数的方法

本文实例讲述了Python求导数的方法。分享给大家供大家参考。具体实现方法如下: def func(coeff): sum='' for key in coeff:...