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


Posted in Python onSeptember 18, 2016

前言

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

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import os
import sys
import 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.close
file.close()

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

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

总结

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

Python 相关文章推荐
举例详解Python中threading模块的几个常用方法
Jun 18 Python
python编写简单爬虫资料汇总
Mar 22 Python
Python常见内置高效率函数用法示例
Jul 31 Python
python实现可逆简单的加密算法
Mar 22 Python
Python OS模块实例详解
Apr 15 Python
python进程的状态、创建及使用方法详解
Dec 06 Python
Python如何使用turtle库绘制图形
Feb 26 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
Python读取二进制文件代码方法解析
Jun 22 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
python在CMD界面读取excel所有数据的示例
Sep 28 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 #Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 #Python
打包发布Python模块的方法详解
Sep 18 #Python
在python的类中动态添加属性与生成对象
Sep 17 #Python
Python中字符串的处理技巧分享
Sep 17 #Python
Python中对象迭代与反迭代的技巧总结
Sep 17 #Python
发布你的Python模块详解
Sep 15 #Python
You might like
PHP的栏目导航程序
2006/10/09 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
通过隐藏option实现select的联动效果
2009/11/10 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python 提取文件指定列的方法示例
2019/08/07 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
医学院毕业生自荐信
2013/11/08 职场文书
《颐和园》教学反思
2014/02/26 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
导游词之昭君岛
2020/01/17 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL