Python解压zip文件乱码解压失败报错zipfile.BadZipFile解决方法

报错问题
  • zip_file = zipfile.ZipFile(zip_file),zip_file.extract()解压里面文件时报错如下
  • zipfile.BadZipFile: File name in directory '╡Ñ╥╗└┤╘┤▓╔╣║╜ß╣√╣½╕µ.doc' and h
解决方法
  • 修改zipfile.py源码, 搜索cp437,分别在1327行,1510行
  • 1327行
    Python解压zip文件乱码解压失败报错zipfile.BadZipFile解决方法_第1张图片
  • 1510行
    Python解压zip文件乱码解压失败报错zipfile.BadZipFile解决方法_第2张图片
  • 注释掉源代码中filename = filename.decode('cp437')fname_str = fname.decode("cp437"); 并分别改为如下代码
try:
    filename = filename.decode('utf-8')
except:
    filename = filename.decode('gbk')
try:
    fname_str = fname.decode('utf-8')
except:
    fname_str = fname.decode('gbk')

你可能感兴趣的:(#,Bug)