zl程序教程

您现在的位置是:首页 >  后端

当前栏目

已解决raise BadZipFile(“File is not a zip file”)

zip 解决 not is File RAISE
2023-09-14 09:05:13 时间

已解决Python zipfile.ZipFile 解压zip文件,抛出异常raise BadZipFile(“File is not a zip file”)
ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : (stderr) zipfile.BadZi的正确解决方法,亲测有效!!!









报错问题



粉丝群里面的一个小伙伴遇到问题跑来私信我,想用kettle启动Python脚本,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错作业如下所示:

fin = [fname for fname in os.listdir(in_path) if 'zip' in fname]
if len(fin) == 0:
    pass
else:
    for folder in fin:
        print("正在解析压缩包", folder)
        # 二、提取文件名,文件时间
        source_type = re.findall("[a-z_]*", folder)[0]
        source_type = re.sub("_$", '', source_type)
        source_time = re.findall("\d+\w*", folder)[0]
        zipfile_path = in_path + "\\" + folder
        data_num = 0
        with zipfile.ZipFile(zipfile_path, mode='r') as zfile:  # 只读方式打开压缩包
            for json_name in zfile.namelist():  # 获取zip文档内所有文件的名称列表
                print("正在解析json文件", json_name)
                # 四、解析单个json文件
                info = zfile.read(json_name)
                info = str(info, 'UTF-8')

报错信息截图如下所示

在这里插入图片描述

报错信息内容如下所示

raise BadZipFile("File is not a zip file")
ERROR (version 7.0.0.0-25, build 1 from 2016-11-05 15.35.36 by buildguy) : (stderr) zipfile.BadZipFile: File is not a zip file



报错翻译



报错信息内容翻译如下所示

引发BadZip文件(“文件不是zip文件”)
错误(版本7.0.0.0-25,buildguy从2016-11-05 15.35.36开始构建1):(stderr)zipfile.BadZipFile:文件不是zip文件




报错原因



报错原因

尝试手动打开zip压缩文件,结果提示:不可预料的压缩文件末端,出现这个原因是由于压缩文件被损坏了。


小伙伴们按下面的解决方法修复压缩文件即可解决!!!


在这里插入图片描述





解决方法



1、一般出现不可预料的压缩文件末端都是发生在 RAR 文件存档中,这个时候我们需要使用 WinRAR 工具进行修复。


在这里插入图片描述

2、打开 WinRAR 菜单中的工具 - 修复压缩文件。


在这里插入图片描述


3、如果当前的压缩文档是 zip 格式就选择为 ZIP 格式对待,如果是 RAR 就选择为 RAR 格式对待。


在这里插入图片描述

4、修复完成后就可以在保存的位置看到重新生成了一个名为 rebulit 开头的压缩档案,尝试使用 WinRAR 打开看看能否正常解压。


在这里插入图片描述


以上就是WinRAR压缩文件出现不可预料的压缩文件末端怎么解决的方法,当然这种方法并不能保证百分百解决出现的所有问题,一般压缩档案中添加了数据恢复这样修复成功的机率比较高。

注意:这种修复功能的确可以解决问题,但是如果是工作实际数据开发中并不建议使用,因为可能会导致数据丢失!!!

以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!

千人全栈VIP答疑群联系博主帮忙解决报错

由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!

  • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

  • 注意:如果希望得到及时回复,和大佬们交流学习,订阅专栏后私信博主进千人VIP答疑群在这里插入图片描述
    在这里插入图片描述

免费资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述