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

如何使用Python批量解压多个.7z文件并输出到不同独立目录

问题原因
  • 原有代码将所有压缩包的内容统一解压到同一个E:/DATA/output目录,若不同压缩包内存在同名文件,后解压的文件会直接覆盖前序文件,就会出现「仅成功解压1个文件」的假象。
  • 代码未按照需求为每个压缩包生成独立的output序列文件夹。
修正后代码
import os
import glob
from pyunpack import Archive

os.chdir("E:/DATA/raw")
# 初始化序号,从1开始对应output1
output_index = 1
for file in glob.glob("*myfile.7z"):
    print(f"正在处理:{file}")
    # 生成当前压缩包对应的输出文件夹路径
    output_path = f"E:/DATA/output{output_index}"
    # 若文件夹不存在则自动创建,避免路径不存在报错
    os.makedirs(output_path, exist_ok=True)
    # 解压到对应独立文件夹
    Archive(file).extractall(output_path)
    # 序号自增,对应下一个压缩包的文件夹
    output_index += 1
代码说明
  • 新增output_index变量计数,依次生成output1/output2/output3格式的文件夹路径
  • 调用os.makedirs自动创建输出文件夹,避免路径不存在导致的解压失败
  • 每个压缩包的内容都解压到专属文件夹,不会出现文件覆盖问题
注意事项
  • 运行前请确保已安装依赖库:执行pip install patool pyunpack
  • 本地需要安装7-Zip解压工具,并将其安装目录添加到系统环境变量PATH中,否则pyunpack无法调用解压能力

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:27:03