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创建临时文件夹的方法
Jul 06 Python
python 网络爬虫初级实现代码
Feb 27 Python
浅析python中的分片与截断序列
Aug 09 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
Python模块文件结构代码详解
Feb 03 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
Python pymysql模块安装并操作过程解析
Oct 13 Python
python中threading和queue库实现多线程编程
Feb 06 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 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 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
关于js类的定义
2011/06/28 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
Python实现读取json文件到excel表
2017/11/18 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
班主任班级寄语大全
2014/04/04 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
学生干部培训方案
2014/06/12 职场文书
法制宣传标语集锦
2014/06/25 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
2015年酒店工作总结
2015/04/28 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server