1. 程式人生 > >python執行顯示編碼錯誤

python執行顯示編碼錯誤

python中執行顯示編碼錯誤一般有2種原因:

編碼與譯碼的方式不一致

在編寫Python時,當使用中文輸出或註釋時執行指令碼,會提示錯誤資訊:

SyntaxError: Non-ASCII character '\xe5' in file *******

【原因】

python直譯器的預設編碼檔案是用的ASCII碼,而你的python檔案中使用了中文等非英語字元。

【解決辦法】

在Python原始檔的最開始一行,加入一句:

# coding=UTF-8(等號換為”:“也可以)

注意:等號左右兩邊沒有空格

 

補充:

.py檔案的編碼方式由編輯器決定,而在中文環境下,編輯器的編碼方式一般是utf-8,python直譯器在譯碼時,譯碼方式為要與原始檔的編碼方式一致。

具體可參考官方文件:https://www.python.org/dev/peps/pep-0263/

 

存在部分字元無法譯碼的情況

編碼與譯碼的方式是一致的,但是部分字元無法譯碼。

讀取中文txt檔案時,經常會出現: ‘gbk' codec can't decode bytes in position 31023: illegal multibyte sequence

這種情況就是文本里含有gbk編碼方式中沒有的字元

最好的解決辦法:

使用gb18030編碼方式,因為gb18030編碼方式包含gbk,支援的字元數更多,並且加入'ignore'忽略無法讀取的字元。

例如;

open('
../hlp_stop_words.txt', encoding='gb18030', errors='ignore')