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 命令行非阻塞输入的小例子
Sep 27 Python
python采用django框架实现支付宝即时到帐接口
May 17 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
python zip()函数使用方法解析
Oct 31 Python
Python 限定函数参数的类型及默认值方式
Dec 24 Python
Python列表list操作相关知识小结
Jan 29 Python
Python新手学习标准库模块命名
May 29 Python
Python pysnmp使用方法及代码实例
Aug 24 Python
属性与 @property 方法让你的python更高效
Sep 21 Python
Python中Yield的基本用法
Oct 18 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 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入门学习知识点三 PHP上传
2011/07/14 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
php递归实现无限分类的方法
2015/07/28 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
Seajs源码详解分析
2019/04/02 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python中类的继承代码实例
2014/10/28 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
python下载库的步骤方法
2019/10/12 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
高中课程设置方案
2014/05/28 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
走群众路线学习笔记
2014/11/06 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
建党伟业观后感
2015/06/01 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL