Python解壓zip檔案亂碼解壓失敗報錯zipfile.BadZipFile解決方法
阿新 • • 發佈:2021-02-08
技術標籤:Bug
報錯問題
- zip_file = zipfile.ZipFile(zip_file),zip_file.extract()解壓裡面檔案時報錯如下
zipfile.BadZipFile: File name in directory '╡Ñ╥╗└┤╘┤▓╔╣║╜ß╣√╣½╕µ.doc' and h
解決方法
- 修改
zipfile.py
原始碼, 搜尋cp437,分別在1327行,1510行 - 1327行
- 1510行
- 註釋掉原始碼中
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')