Python解压zip乱码怎么解决?如何解决乱码问题?

相信很多初学者在刚接触到python时,可能会接触到关于python的zip解压,大家最熟悉的想必是zip压缩文件了吧,也确实是压缩文件大多都是zip文件,但是有时解压后会出现乱码的情况,那么怎样解决python解压zip时乱码的这种情况呢?

Python解压zip乱码怎么解决?如何解决乱码问题?

文章插图
解压文件首先要在编写代码的开头通过import关键字来调用zipfile,再用with开头的命令来处理需要解压的文件 。解决乱码情况可以通过自己创建文件夹的方式来解决,先创建一个自己的解压目录,为了区分是文件还是文件夹要获取文件大小,再把解码方式为cp437变成gbk,再对文件进行拼接,示例如下:
Import zipfilewith zipfile.ZipFile(file=zip_save_path, mode='r') as wz:           os.mkdir(unzip_dir_path)      for old_name in wz.namelist():              file_size = wz.getinfo(old_name).file_size                new_name = old_name.encode('cp437').decode('gbk')                new_path = os.path.join(unzip_dir_path, new_name)               if file_size > 0:                  with open(file=new_path, mode='wb') as h:                       h.write(wz.read(old_name))        else:     os.mkdir(new_path)那么为什么会存在乱码这一种情况呢,可以通过查看源码来找原因,原因就是因为文件导出的过程中解码不对,原来编写的代码不能正确被识别为utf-8,utf-8就是所谓的二进制,encode()函数和decode()函数都是字符串函数,并且都是与解码相关的,字节码是通过字符串编码得来,字符串又是通过解码得来字节码,因此在解决zip乱码的时候会使用到encode和decode 。
【Python解压zip乱码怎么解决?如何解决乱码问题?】经过上述的分析,了解了如何解决python解压zip时乱码的问题,在学习的过程中还会遇到很多的不同的问题,是在不断地探索与发现中成长,通过本次的解答,想必大家的专业技能又得到了进步,继续加油吧!

    推荐阅读