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 创建子进程模块subprocess详解
Apr 08 Python
python实现识别相似图片小结
Feb 22 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
Python装饰器基础概念与用法详解
Dec 22 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
Python版中国省市经纬度
Feb 11 Python
使用python求解二次规划的问题
Feb 29 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
Python Pillow(PIL)库的用法详解
Sep 19 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实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
js导出txt示例代码
2014/01/14 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
js面向对象的写法
2016/02/19 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
幼儿教师自我鉴定
2013/11/02 职场文书
青春寄语大全
2014/04/09 职场文书
离婚律师函范本
2015/05/27 职场文书
网聊搭讪开场白
2015/05/28 职场文书
物业保洁员管理制度
2015/08/05 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技