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

使用rarfile库解密含加密文件名的密码保护RAR文件时出现BadRarFile错误

rarfile库解密含加密文件名的密码保护RAR文件时出现BadRarFile错误

我来帮你搞定这个问题!你碰到的rarfile.BadRarFile: Failed the read enough data: req=592 got=0错误,确实和你加密了RAR文件名的操作直接相关——这是rarfile库处理这类加密文件时的一个典型问题。

问题原因

当你给RAR文件加密文件名时,整个文件的目录结构都是加密状态的。而你原来的代码只在extractall()方法里传密码,这时候rarfile库已经尝试去读取未加密的目录信息失败了,自然就抛出了读取数据不足的错误。反之,当你不加密文件名时,库能直接读取文件结构,再用密码解密内容,所以不会出问题。

解决方法

你需要把密码提前传给RarFile实例,让它在读取文件目录时就能用密码解密,有两种常用方式:

方式一:初始化时直接传入密码

from rarfile import RarFile

with RarFile('daisy.rar', 'r', pwd='@Daisy_Cloud') as myrar:
    myrar.extractall()

方式二:先设置密码再执行解压

from rarfile import RarFile

myrar = RarFile('daisy.rar', 'r')
myrar.setpassword('@Daisy_Cloud')
myrar.extractall()
myrar.close()

额外注意事项

  • 建议更新rarfile到最新版本:旧版本对加密文件名的支持可能有bug,执行pip install --upgrade rarfile就能更新。
  • 验证文件完整性:先用WinRAR或7-Zip手动打开daisy.rar确认文件没损坏,密码确实能正常解密,排除文件本身的问题。

备注:内容来源于stack exchange,提问作者Mohamed Belkhira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:50:31