Python将新文件追加到已有ZIP文件的实现方法
本文介绍如何利用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文件处理方面的学习有所帮助,同时也欢迎大家继续支持本站获取更多技术资源。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













