用Python解決解壓zip文件中文亂碼問題

ldhs5953 7年前發布 | 31K 次閱讀 Linux Python開發

在Linux下,解壓電腦上的.zip文件時,有時候由于編碼問題,中文文件名或者文件夾名會出現亂碼……

為了方便,于是自己寫了一個python的解壓.zip文件的腳本,親測可用。

腳本myunzip.py:

#!usr/bin/env python2
# -*- 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()

解壓文件時,直接執行:

$ python myunzip.py xxx.zip

或者,先增加可執行權限,然后執行:

$ chmod +x myunzip.py
$ ./myunzip.py xxx.zip

Example:

 

來自:http://www.jianshu.com/p/35369813826a

 

 本文由用戶 ldhs5953 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!