python解決Fedora解壓zip時(shí)中文亂碼的方法
前言
很多時(shí)候在windows下壓縮文件沒(méi)問(wèn)題,但是到了Linux下,出現(xiàn)亂碼,很常見(jiàn)。以前在Ubuntu下,用`unzip -O GBK filename.zip`
就可以搞定。 換了Fedora后,暫時(shí)沒(méi)發(fā)現(xiàn)亂碼的壓縮文件。晚上下載一本書(shū)的光盤(pán),又碰到了亂碼。嘗試之前的方法沒(méi)成功??戳讼聈nzip的help,沒(méi)-O那個(gè)參數(shù)了== 剛好找到一個(gè)用python解決的辦法,分享下。
新建一個(gè)`.py`后綴的文件,直接復(fù)制粘貼代碼:
#!/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()
執(zhí)行解壓zip文件,可愛(ài)的中文就出來(lái)了。
python 文件名.py 需要解壓的文件名.zip
總結(jié)
好了,這個(gè)問(wèn)題就這么簡(jiǎn)單的解決了,大家都學(xué)會(huì)了嗎?希望這篇文章對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
python3使用requests模塊爬取頁(yè)面內(nèi)容的實(shí)戰(zhàn)演練
本篇文章主要介紹了python3使用requests模塊爬取頁(yè)面內(nèi)容的實(shí)戰(zhàn)演練,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09Python利用Seaborn繪制多標(biāo)簽的混淆矩陣
混淆矩陣也稱誤差矩陣,是表示精度評(píng)價(jià)的一種標(biāo)準(zhǔn)格式,用n行n列的矩陣形式來(lái)表示。本文將利用Seaborn繪制多標(biāo)簽的混淆矩陣,感興趣的可以學(xué)習(xí)一下2022-07-07淺談Python中re.match()和re.search()的使用及區(qū)別
這篇文章主要介紹了淺談Python中re.match()和re.search()的使用及區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python實(shí)現(xiàn)自動(dòng)駕駛訓(xùn)練模型
這篇文章主要為大家介紹了Python實(shí)現(xiàn)自動(dòng)駕駛訓(xùn)練模型,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06