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 Sleep休眠函数使用简单实例
Feb 02 Python
Python可跨平台实现获取按键的方法
Mar 05 Python
探索Python3.4中新引入的asyncio模块
Apr 08 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
Python实现在线音乐播放器
Mar 03 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
利用pandas读取中文数据集的方法
Jul 25 Python
python学习之hook钩子的原理和使用
Oct 25 Python
Python Web版语音合成实例详解
Jul 16 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
Python ellipsis 的用法详解
Nov 20 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中cookies使用指南
2007/03/16 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
php实现websocket实时消息推送
2018/03/30 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
windows下python和pip安装教程
2018/05/25 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Pandas的数据过滤实现
2021/01/15 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
幼儿园家长会欢迎词
2014/01/09 职场文书
规划编制实施方案
2014/03/15 职场文书
2014年团队工作总结
2014/11/24 职场文书
工人先锋号申报材料
2014/12/29 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
Python一些基本的图像操作和处理总结
2021/06/23 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
TS 类型收窄教程示例详解
2022/09/23 Javascript