使用Python解压7z文件时出现Bad7zFile错误该如何解决?
解决py7zr解压分卷7z文件时的Bad7zFile错误
问题原因
.7z.001是7z分卷压缩的首个分片文件,py7zr直接打开单个分卷时会因缺少完整压缩头信息触发invalid header data错误。
解决步骤
确认分卷文件完整
保证同目录下存在.7z.001、.7z.002等所有分卷文件,文件名不能随意修改,不能缺失任何分片。修改代码启用分卷支持
py7zr处理分卷需添加split=True参数,告知库当前处理的是分卷压缩文件,代码调整如下:import py7zr with py7zr.SevenZipFile(r"C:\Users\n1.lall\Desktop\folderofzipfiles\filetoextract.7z.001", mode='r', split=True) as z: z.extractall()注意:确保py7zr是最新版本,旧版本可能存在分卷处理bug,可通过
pip install --upgrade py7zr升级。验证文件完整性
若仍报错,大概率是分卷文件损坏:- 重新获取完整的分卷文件
- 用官方7-Zip工具尝试解压,确认文件本身是否正常
内容的提问来源于stack exchange,提问作者NLStack
相关产品推荐
相关产品推荐

