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

Python无法解压带密码RAR文件:数据读取不足报错排查

解决rarfile解压带密码RAR时的"Failed the read enough data"错误

针对你遇到的问题,以下是几种可行的解决方法:

  • 确保unrar工具正确配置
    rarfile库依赖unrar命令行工具才能处理加密RAR文件。Windows下需从WinRAR官网下载安装包,安装后将unrar.exe所在路径(默认是C:\Program Files\WinRAR)添加到系统环境变量PATH中,或者在代码里直接指定路径:

    import rarfile
    # 替换为你的unrar.exe实际路径
    rarfile.UNRAR_TOOL = r"C:\Program Files\WinRAR\UnRAR.exe"
    
    with rarfile.RarFile(file_path) as rar_file:
        if pw:
            rar_file.setpassword(pw)
        rar_file.extractall(unpack_dir)
    
  • 移除密码的encode()处理
    部分场景下,rarfile不需要手动对密码进行编码,直接传入字符串即可。修改代码:

    # 替换原有的pw.encode()为pw
    rar_file.setpassword(pw)
    
  • 检查文件路径的合法性
    如果file_path包含空格、非ASCII字符或相对路径,可能导致文件读取异常。改用绝对路径并使用原始字符串格式:

    file_path = r"C:\完整的绝对路径\log.rar"
    
  • 升级rarfile库
    旧版本的rarfile可能存在兼容性bug,执行命令升级到最新版:

    pip install --upgrade rarfile
    
  • 再次验证文件的可解压性
    即使你确认文件未损坏,仍建议用WinRAR手动解压一次,确保没有隐性的文件损坏或密码匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:47:40