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获取糗百图片代码实例
Dec 18 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
python实现二分查找算法
Sep 21 Python
用python3教你任意Html主内容提取功能
Nov 05 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
python图形工具turtle绘制国际象棋棋盘
May 23 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
Jul 15 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
python自动脚本的pyautogui入门学习
Apr 01 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
golang中的空接口使用详解
Mar 30 Python
python urllib库的使用详解
Apr 13 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
文件系统基本操作类
2006/11/23 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
php操作xml
2013/10/27 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
JS简单获得节点元素的方法示例
2018/02/10 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Python 变量类型及命名规则介绍
2013/06/08 Python
Python实现partial改变方法默认参数
2014/08/18 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python supervisor强大的进程管理工具的使用
2019/04/24 Python
Python求离散序列导数的示例
2019/07/10 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python实现的汉诺塔算法示例
2019/10/23 Python
python二维图制作的实例代码
2020/12/03 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
python字符串的多行输出的实例详解
2021/06/08 Python
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python