前言
很多時候在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
總結
好了,這個問題就這么簡單的解決了,大家都學會了嗎?希望這篇文章對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
