python解決Fedora解壓zip時中文亂碼的方法
前言
很多時候在windows下壓縮文件沒問題,但是到了Linux下,出現(xiàn)亂碼,很常見。以前在Ubuntu下,用`unzip -O GBK filename.zip` 就可以搞定。 換了Fedora后,暫時沒發(fā)現(xiàn)亂碼的壓縮文件。晚上下載一本書的光盤,又碰到了亂碼。嘗試之前的方法沒成功。看了下unzip的help,沒-O那個參數(shù)了== 剛好找到一個用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()
執(zhí)行解壓zip文件,可愛的中文就出來了。
python 文件名.py 需要解壓的文件名.zip
總結(jié)
好了,這個問題就這么簡單的解決了,大家都學會了嗎?希望這篇文章對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
python3使用requests模塊爬取頁面內(nèi)容的實戰(zhàn)演練
本篇文章主要介紹了python3使用requests模塊爬取頁面內(nèi)容的實戰(zhàn)演練,具有一定的參考價值,有興趣的可以了解一下2017-09-09
淺談Python中re.match()和re.search()的使用及區(qū)別
這篇文章主要介紹了淺談Python中re.match()和re.search()的使用及區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

