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网络编程调用recv函数完整接收数据的三种方法

最近在使用python进行网络编程开发一个通用的tcpclient测试小工具。在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑...

Win10环境python3.7安装dlib模块趟过的坑

Win10环境python3.7安装dlib模块趟过的坑

在头条看了一篇文章,说五行代码实现人脸识别,一时感兴趣了,来搞搞 先是按照文章说的 操作了几步,到后面虽然,import dlib 不报错,但是 代码里面运行的时候 detector...

Python实现对特定列表进行从小到大排序操作示例

本文实例讲述了Python实现对特定列表进行从小到大排序操作。分享给大家供大家参考,具体如下: 1、在系统内新建文件rizhireplacelist.txt root@kali:~#...

详解Python字符串对象的实现

详解Python字符串对象的实现

PyStringObject 结构体 Python 中的字符串对象在内部对应一个名叫 PyStringObject 的结构体。“ob_shash” 对应字符串经计算过的 hash值, “...

浅谈python中copy和deepcopy中的区别

在下是个编程爱好者,最近将魔爪伸向了Python编程。。。。。遇到copy和deepcopy感到很困惑,现在针对这两个方法进行区分,一种是浅复制(copy),一种是深度复制(deepco...