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使用递归解决全排列数字示例
Feb 11 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
利用python修改json文件的value方法
Dec 31 Python
Python正则表达式和re库知识点总结
Feb 11 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python中按值来获取指定的键
Mar 04 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
Python短信轰炸的代码
Mar 25 Python
Django自定义YamlField实现过程解析
Nov 11 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
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
js随机生成一个验证码
2017/06/01 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
Python中请使用isinstance()判断变量类型
2014/08/25 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
花卉与景观设计系大学生求职信
2013/10/01 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
简历的自我评价范文
2014/02/04 职场文书
党建示范点实施方案
2014/03/12 职场文书
食堂标语大全
2014/06/11 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
2014年人事科工作总结
2014/11/19 职场文书
客户答谢会致辞
2015/01/20 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript