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二维码生成库qrcode安装和使用示例
Dec 16 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
Python中集合的内建函数和内建方法学习教程
Aug 19 Python
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
Python实现的多线程http压力测试代码
Feb 08 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
python线程信号量semaphore使用解析
Nov 30 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Python制作春联的示例代码
Jan 22 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
完美解决dedecms中的[html][/html]和[code][/code]问题
2007/03/20 PHP
php,ajax实现分页
2008/03/27 PHP
浅析is_writable的php实现
2013/06/18 PHP
javascript学习之闭包分析
2010/12/02 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
Python日期操作学习笔记
2008/10/07 Python
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
python实现从ftp服务器下载文件
2020/03/03 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
大学军训自我鉴定
2013/12/15 职场文书
创意活动策划书
2014/01/15 职场文书
小学数学教学反思
2014/02/02 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
大学生求职信例文
2014/06/29 职场文书
党章培训心得体会
2014/09/04 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python