python zipfile解压文件出现中文乱码

解压文件首先要在编写代码的开头通过import关键字来调用zipfile,再用with开头的命令来处理需要解压的文件。解决乱码情况可以通过自己创建文件夹的方式来解决,先创建一个自己的解压目录,为了区分是文件还是文件夹要获取文件大小,再把解码方式为cp437变成gbk,再对文件进行拼接,示例如下:

with zipfile.ZipFile(file='/data/home/sunzq/FQA.zip', mode='r') as wz:
            # os.mkdir('/data/home/sunzq/FQA')
            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('/data/home/sunzq/', 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)

 


posted @ 2023-04-24 16:39  寒风孤影,江湖故人  阅读(639)  评论(0编辑  收藏  举报