python解决Fedora解压zip时中文乱码的方法
前言
很多时候在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通过zlib实现压缩与解压字符串的方法
本文实例讲述了python通过zlib实现压缩与解压字符串的方法.分享给大家供大家参考.具体实现方法如下: 使用zlib.compress可以压缩字符串.使用zlib.decompress可以解压字符串.如下 复制代码 代码如下: #coding=utf-8 import zlib s = "hello word, 00000000000000000000000000000000" print len(s) c = zlib.compress(s) print len(c) d =
-
使用Python压缩和解压缩zip文件的教程
python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件. 例如,在py脚本所在目录中,有如下文件: 复制代码 代码如下: readability/readability.js readability/readability.txt readability/readability-print.css readability/sprite-readability.png readability/readability.css 将 readability 目录中的文件压缩到脚
-
Python压缩解压缩zip文件及破解zip文件密码的方法
python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件. 例如,在py脚本所在目录中,有如下文件: readability/readability.js readability/readability.txt readability/readability-print.css readability/sprite-readability.png readability/readability.css 将 readability 目录中的文件压缩到脚本所在目录的 read
-
python使用7z解压软件备份文件脚本分享
要求安装: 1.Python2.7z解压软件 backup_2.py 复制代码 代码如下: # Filename: backup_2.py '''Backup files. Version: V2, based on Python 3.3 Usage: backup.py -s:"dir1|dir2|..." -t:"target_dir" [-c:"comment"] -s: The source directorie
-
python使用7z解压apk包的方法
本文实例讲述了python使用7z解压apk包的方法.分享给大家供大家参考.具体如下: 这段代码通过shell调用7z对apk包进行解压缩 def run_shell(command, mayFreeze=False): def check_retcode(retcode, cmd): if 0 != retcode: print >> sys.stderr, 'err executing ' + cmd + ':', retcode sys.exit(retcode) def read_cl
-
Python中使用gzip模块压缩文件的简单教程
压缩数据创建gzip文件 先看一个略麻烦的做法 import StringIO,gzip content = 'Life is short.I use python' zbuf = StringIO.StringIO() zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf) zfile.write(content) zfile.close() 但其实有个快捷的封装,不用用到StringIO模块 f = gzip.open(
-
Python压缩和解压缩zip文件
zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡. python解压zip文档: 复制代码 代码如下: #/usr/bin/python #coding=utf-8 import os,sys,time import zipfile filename = 'callofdutyblackopszombies_1349649132343_my.zip' #要解压的文件 filedir = 'data/' #解压后放入的目录 r = zipfile.is_zipfil
-
Python中使用tarfile压缩、解压tar归档文件示例
Python自带的tarfile模块可以方便读取tar归档文件,牛b的是可以处理使用gzip和bz2压缩归档文件tar.gz和tar.bz2. 与tarfile对应的是zipfile模块,zipfile是处理zip压缩的.请注意:os.system(cmd)可以使Python脚本执行命令,当然包括:tar -czf *.tar.gz *,tar -xzf *.tar.gz,unzip等,当我觉得这样尽管可以解决问题,但我觉得很业余. 使用tarfile压缩 复制代码 代码如下: import
-
使用Python读写及压缩和解压缩文件的示例
读写文件 首先看一个例子: f = open('thefile.txt','w') #以写方式打开, try: f.write('wokao') finally: f.close() 文件的打开方式: f = open('文件','mode') 'r':只读(缺省.如果文件不存在,则抛出错误) 'w':只写(如果文件不存在,则自动创建文件),此时无法调用f.read()方法,且当调用f.write()时,将清空文件原有内容 'a':附加到文件末尾 'r+':读写 如果需要以二进制方式打开文件,需
-
python zip文件 压缩
从简单的角度来看的话,zip格式会是个不错的选择,而且python对zip格式的支持够简单,够好用.1)简单应用 如果你仅仅是希望用python来做压缩和解压缩,那么就不用去翻文档了,这里提供一个简单的用法,让你一看就能明白. import zipfile f = zipfile.ZipFile('filename.zip', 'w' ,zipfile.ZIP_DEFLATED) f.write('file1.txt') f.write('file2.doc') f.write('file3.r
随机推荐
- Python+django实现文件下载
- MySQL数据库输入密码后闪退问题的解决方法
- MX 2004 UIScrollBar组件教程
- 对handlerexecutionchain类的深入理解
- 求婚示爱的Perl代码之改写篇
- laravel中命名路由的使用方法
- php实例分享之html转为rtf格式
- asp.net 分页链接方法
- 深入探秘jquery瀑布流的实现
- s:set 和 s:date 使用, 在jsp判断日期
- js原生appendChild的bug解决心得分享
- mongodb设置后台运行的方法
- 详解spring面向切面aop拦截器
- 基于jquery的3d效果实现代码
- 利用腾讯的ip地址库做ip物理地址定位
- C++编程中的格式化输出详解
- Java面试问题知识点总结
- 回归正途,用Opteron 144打造高性价比服务器
- 交换机配置中的安全性
- Android可自定义神奇动效的卡片切换视图实例
