解决在Linux环境下解压zip的乱码问题
撰写于 2011年12月30日 | 一条评论
今天折腾了下把windows下的文件全部转移到了Fedora中,之后在解压那些在Windows下压缩为zip格式的压缩包时出现了久违了的乱码问题。于是乎,为了解决这个麻烦事,Google了一堆解决办法一一试过去,却依然没法解决。最后,终于在翻了N页之后找到了一段代码,抱着尝试的心理试用了一下,没想到竟然解决了这一大难题。好东西不忍独享,故而在此贴出让更多人使用。
#!/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()
从代码来看并没有多少技术含量,但是却很实用。
将这段代码保存为 unzip.py之后,将其和需要解压的文件放置在同一个文件夹中,之后在终端中使用下面的代码就可以了:
python unzip.py *.zip
原创文章,转载请注明: 转载自网憩阁
本文链接地址: 解决在Linux环境下解压zip的乱码问题
Linux 新手 用 ubuntu 遇到同樣的問題,不習慣終端。請問有沒有別的辦法啊???
[回复]