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实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
python中input()与raw_input()的区别分析
Feb 27 Python
Python实现pdf文档转txt的方法示例
Jan 19 Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 Python
python使用zip将list转为json的方法
Dec 31 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
python 导入数据及作图的实现
Dec 03 Python
使用TFRecord存取多个数据案例
Feb 17 Python
python代码实现备忘录案例讲解
Jul 26 Python
方法汇总:Python 安装第三方库常用
Apr 26 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下载远程文件类(支持断点续传)
2008/11/14 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP获取文件行数的方法
2015/06/10 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
解决laravel session失效的问题
2019/10/14 PHP
checkbox选中与未选中判断示例
2014/08/04 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python框架django基础指南
2016/09/08 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python批量获取html内body内容的实例
2019/01/02 Python
python判断自身是否正在运行的方法
2019/08/08 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
Python中base64与xml取值结合问题
2019/12/22 Python
Python下载的11种姿势(小结)
2020/11/18 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
本科生学习总结的自我评价
2013/10/02 职场文书
幼儿园教师培训制度
2014/01/16 职场文书
岗位工作说明书
2014/07/29 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle