python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题

问题描述——python 使用zipfile模块 读取并且解压缩包,出现中文乱码问题

python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题_python

问题原因

python 使用这个模块读取的文件里面出现了中文 导致的乱码 ,所以最好不要有中文,否则容易出乱码。

python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题_python_02

python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题_编码格式_03

文件夹的名字都是中文的名字所以导致的乱码

解决方法

处理压缩包里的中文 导致的乱码,所以要在后面加上面编码格式处理的代码

下面就是编码格式处理的代码

.encode('cp437').decode('gbk')

python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题_编码格式_04

加入上面代码后就没有乱码了

下面是使用代码获取,压缩前后文件的大小

import zipfile
with zipfile.ZipFile('zeng.zip', 'r') as zipobj:
for file_name in zipobj.namelist():
info = zipobj.getinfo(file_name)
file_name = file_name.encode('cp437').decode('gbk')
print(file_name, info.file_size, info.compress_size)

python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题_编码格式_05

问题解决,