Python zipfile 编码问题
生活随笔
收集整理的這篇文章主要介紹了
Python zipfile 编码问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
zipfile默認對于文件名編碼只識別cp437和utf-8
對于采用其他編碼方式的文件,zipfile解壓出來的就會是亂碼
我們可以先把它encode成cp437然后再decode成GBK
最后在把文件重命名回去即可。
import zipfile
from os import rename
# 解壓
with zipfile.ZipFile('test.zip', 'r') as fd:
for i in fd.namelist():
gbkfilename = i.encode('cp437').decode('GBK')
fd.extract(i, 'testdir', pwd='testpassword'.encode('GBK'))
rename(''.join(['testdir/', i]), ''.join(['testdir/', gbkfilename]))
總結
以上是生活随笔為你收集整理的Python zipfile 编码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内核态抢占机制分析
- 下一篇: 【百度地图API】如何调整结果面板的样式