如何解決Python編碼錯誤”一文

你又沒有遇到過,在寫程式碼最後執行的時候,出現執行不了,在解析其他檔案的時候出現報錯,那麼你是如何解決的呢?今天小編為大家帶來一個技術性問題是怎麼解決的過程。用python解析檔案(檔案中含有中文),並寫入其他檔案時報錯:

如何解決Python編碼錯誤”一文

UnicodeEncodeError:‘ascii’codeccan‘tencodecharacters

經過google大神的指導,確定以下解決方式:

#coding:utf-8importsysreload(sys)sys。setdefaultencoding(’utf-8‘)

疑問:為什麼需要reload呢?

grep-r-i’setdefaultencoding‘/usr/lib/python2。7輸出結果為:

/usr/lib/python2。7/site。py:sys。setdefaultencoding(encoding)#NeedsPythonUnicodebuild!

/usr/lib/python2。7/site。py:#Removesys。setdefaultencoding()sothatuserscannotchangethe

/usr/lib/python2。7/site。py:ifhasattr(sys,“setdefaultencoding”):

/usr/lib/python2。7/site。py:delsys。setdefaultencoding

Binaryfile/usr/lib/python2。7/site。pycmatches

把delsys。setdefaultencoding防止使用者在改變defaultencoding,這個原因暫時真不知。。

對於windows平臺,上面的辦法真不行,對於python2。x中,總是存在這個問題,在Python3。x的時候這真不是個事,

對於windows平臺,

檔案開頭宣告為#coding=utf-8,

寫入字串時,轉換編碼為GBK

file。write(str。encode(’gbk‘))

還要注意的是:open(。。。。)不能有任何運算,一次只能寫入一行,所以要用+來連成一行

#coding=utf-8

當這些問題都解決以後,你就會發現,你已經在塊成為一個高手了。

頂部