Python将新文件追加到已有ZIP文件的实现方法

半杯拿铁
半杯拿铁
发布时间:2026-10-13 | 1人浏览过
原创

本文介绍如何利用Python标准库zipfile,通过指定'a'(追加)模式,将新文件或文件夹内容添加到现有的ZIP文件中。核心在于遍历源目录并递归写入,适用于需要增量更新压缩包而不覆盖原有内容的场景。

本文分享了在Python中实现将新文件压缩并追加到已有ZIP文件的具体代码方案,供读者参考与学习。

实现的关键点在于使用Python标准库中的zipfile模块创建压缩文件时,必须指定mode参数为'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 相关产品和应用

全部下载

专题列表