import os, zipfile
from os.path import join
def zipfolder(foldername, filename, includeEmptyDIr=True):
empty_dirs = []
zip = zipfile.ZipFile(filename, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(foldername):
empty_dirs.extend([dir for dir in dirs if os.listdir(join(root, dir)) == []])
for name in files:
zip.write(join(root ,name))
if includeEmptyDIr:
for dir in empty_dirs:
zif = zipfile.ZipInfo(join(root, dir) + "/")
zip.writestr(zif, "")
empty_dirs = []
zip.close()
本文介绍了一个Python脚本,该脚本可以实现将指定文件夹内的所有文件及其子目录进行压缩,并支持保留空目录的功能。通过递归遍历目标文件夹,此脚本能够有效地将整个文件夹结构打包成ZIP格式。
2900

被折叠的 条评论
为什么被折叠?



