Ubuntu下Python無法識別中文
阿新 • • 發佈:2018-12-23
在NLP的相關任務中,應用python處理中文是很常見的。在這個過程中,由於編碼方式的不一致,可能會出現以下兩種錯誤:
1)SyntaxError: Non-ASCII character in file ‘檔名’
2)UnicodeDecodeError: 'ascii' codec can't decode
解決方法是:更改Python的編碼方式為utf8模式,分為單文件內的臨時更改,以及全域性更改兩種方式
1.單文件內臨時更改:在文件的開始處第一行(前面無任何內容),加入一行程式碼: # coding: utf8
或者在文件內新增以下程式碼,不要求在第一行,但也一般在文件開始的部分,新增程式碼: import sys reload(sys) sys.setdefaultencoding('utf8')
2.全域性更改在/usr/lib/python2.7目錄下的sitecustomize.py檔案內加入上述程式碼 # coding: utf8 import sys reload(sys) sys.setdefaultencoding('utf8')最後,中文標點的處理需要格外注意(可以按下面形式處理): endSign="!。" endSign=endSign.decode('utf-8')這兩行程式碼,第一行是列舉的中文標點,第二行是編碼為utf8,第二行不能遺漏,否則可能出現上面第二個UnicodeDecodeError:錯誤