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

批量解压文件夹中Zip文件遇PermissionError问题求助

批量解压文件夹内Zip文件的解决方案

错误原因分析

  • 你传入zipfile.ZipFile()的是文件夹路径(C:/Data/zipper/),而该方法需要接收具体的Zip文件路径,这是核心问题
  • 权限错误大概率是目标文件夹C:/Data/unzipped不存在,或者当前程序没有写入该目录的权限

批量解压的正确代码

以下代码会遍历指定文件夹内所有.zip格式的文件,并逐个解压到目标目录:

import zipfile
import os

# 存放Zip文件的源文件夹
source_dir = 'C:/Data/zipper'
# 解压后的目标文件夹
target_dir = 'C:/Data/unzipped'

# 确保目标文件夹存在,不存在则创建
os.makedirs(target_dir, exist_ok=True)

# 遍历源文件夹内的所有文件
for filename in os.listdir(source_dir):
    # 只处理.zip后缀的文件
    if filename.endswith('.zip'):
        zip_path = os.path.join(source_dir, filename)
        try:
            with zipfile.ZipFile(zip_path, 'r') as zip_ref:
                # 解压到目标文件夹
                zip_ref.extractall(target_dir)
                print(f"已成功解压: {filename}")
        except zipfile.BadZipFile:
            print(f"跳过损坏的Zip文件: {filename}")
        except PermissionError:
            print(f"无权限解压文件: {filename}")

代码说明

  • os.makedirs(target_dir, exist_ok=True):自动创建目标文件夹,避免因文件夹不存在导致的权限/路径错误
  • 遍历源文件夹时通过.endswith('.zip')筛选出Zip文件,避免处理非压缩文件
  • 增加异常捕获,处理损坏的Zip文件或权限问题,避免程序中途崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:22:11