You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将多文件夹压缩为单个Zip且不含父目录

解决shutil.make_archive压缩后解压带外层目录的问题

你需要调整shutil.make_archive的参数,让压缩包直接包含Parent folder里的子文件夹,而非将Parent folder本身作为根目录。

具体操作如下:

  • 将root_dir设为Parent folder的上级目录
  • 将base_dir设为Parent folder的文件夹名称

示例代码:

import shutil
import os

# 替换为你的Parent folder实际路径
parent_folder = "/your/path/to/Parent folder"
zip_name = "13_03_2024"

# 获取上级目录和Parent folder的名称
root_dir = os.path.dirname(parent_folder)
base_dir = os.path.basename(parent_folder)

# 执行压缩
shutil.make_archive(zip_name, 'zip', root_dir=root_dir, base_dir=base_dir)

这样生成的13_03_2024.zip解压后,会直接得到Folder1和Folder2,不会出现外层的Parent folder目录。

如果Parent folder用的是相对路径(比如./Parent folder),该逻辑同样适用——os.path.dirname会返回当前目录,base_dir则为"Parent folder"。

内容的提问来源于stack exchange,提问作者Abhra Sarkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 04:55:54