1. 程式人生 > >Ubuntu下Python無法識別中文

Ubuntu下Python無法識別中文

 在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:錯誤