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')

 

補充

python2中的文件路徑不要有中文,會出現一些奇特的bug,但是python3中就沒有這種情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM