首頁  >  文章  >  後端開發  >  python解決Fedora解壓縮zip時中文亂碼的方法

python解決Fedora解壓縮zip時中文亂碼的方法

高洛峰
高洛峰原創
2017-02-22 16:53:341681瀏覽

前言

很多時候在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解決Fedora解壓縮zip時中文亂碼的方法相關文章請關注PHP中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn