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 with用法实例
Apr 14 Python
Python3搜索及替换文件中文本的方法
May 22 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
Jun 02 Python
Python 多核并行计算的示例代码
Nov 07 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
python 调用钉钉机器人的方法
Feb 20 Python
Python魔法方法功能与用法简介
Apr 04 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python3中numpy函数tile的用法详解
Dec 04 Python
基于opencv实现简单画板功能
Aug 02 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计算2点经纬度之间的距离代码
2013/08/12 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript基本语法
2016/05/31 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
pytorch实现查看当前学习率
2020/06/24 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
幼儿园教研活动方案
2014/01/19 职场文书
会计员岗位职责
2014/03/15 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
集中整治工作方案
2014/05/01 职场文书
护理学专业求职信
2014/06/29 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
邹越演讲观后感
2015/06/15 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python