解决 zip 文件名乱码的小脚本
2014-12-13 Tech
Linux 下 zip 文件名乱码的问题想必路人皆知,zip 就是事儿多 ˊ_>ˋ
一个解压 zip 的小脚本,如果遇到非 gbk 的其他奇葩编码自行改变 codeType 的值尝试即可*(:з」∠)*
用法:unzip-gbk.py xxx.zip
代码修改自九原笔记,改成了解压到子文件夹。
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
# unzip-gbk.py
import os
import sys
import zipfile
codeType = 'gbk'
print(u'开始提取:' + sys.argv[1])
with zipfile.ZipFile(sys.argv[1], 'r') as file:
folderName = sys.argv[1].rsplit('.', 1)[0]
for name in file.namelist():
utf8Name = os.path.join(folderName, name.decode(codeType))
pathName = os.path.dirname(utf8Name)
print(u'正在提取: ' + utf8Name)
if not os.path.exists(pathName) and pathName != '':
os.makedirs(pathName)
data = file.read(name)
if not os.path.exists(utf8Name):
with open(utf8Name, 'w') as fo:
fo.write(data) Comments...