Python zipfile 编码问题
2019-02-13 15:54 親親宝贝 阅读(1858) 评论(0) 收藏 举报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]))
我心里一直有个梦,想去嵩山少林学武功... QQ:1976883731
浙公网安备 33010602011771号