首页 > 编程 > Python > 正文

python解决Fedora解压zip时中文乱码的方法

2019-11-25 16:33:36
字体:
来源:转载
供稿:网友

前言

很多时候在windows下压缩文件没问题,但是到了Linux下,出现乱码,很常见。以前在Ubuntu下,用`unzip -O GBK filename.zip` 就可以搞定。 换了Fedora后,暂时没发现乱码的压缩文件。晚上下载一本书的光盘,又碰到了乱码。尝试之前的方法没成功。看了下unzip的help,没-O那个参数了== 刚好找到一个用python解决的办法,分享下。

新建一个`.py`后缀的文件,直接复制粘贴代码:

#!/usr/bin/env python# -*- coding: utf-8 -*- import osimport sysimport zipfile print "Processing File " + sys.argv[1] file=zipfile.ZipFile(sys.argv[1],"r");for name in file.namelist():  utf8name=name.decode('gbk')  print "Extracting " + utf8name  pathname = os.path.dirname(utf8name)  if not os.path.exists(pathname) and pathname!= "":    os.makedirs(pathname)  data = file.read(name)  if not os.path.exists(utf8name):    fo = open(utf8name, "w")    fo.write(data)    fo.closefile.close()

执行解压zip文件,可爱的中文就出来了。

python 文件名.py 需要解压的文件名.zip

总结

好了,这个问题就这么简单的解决了,大家都学会了吗?希望这篇文章对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表