python在安裝時,默認的編碼是ascii,python
當程序中出現非ascii編碼時,--中文以及註釋編碼
python的處理經常會報這樣的錯UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),spa
python沒辦法處理非ascii編碼的,code
此時須要本身設置將python的默認編碼,orm
通常設置爲utf8的編碼格式。ci
查詢系統默認編碼能夠在解釋器中輸入如下命令:get
Python代碼 it
>>>sys.getdefaultencoding() io
設置默認編碼時使用:import
Python代碼
>>>sys.setdefaultencoding('utf8')
在解釋器裏修改的編碼只能保證當次有效,在重啓解釋器後,會發現,編碼又被重置爲默認的ascii了,因此須要添加下面語句
reload(sys)
有2種方法設置python的默認編碼:
一個解決的方案在程序中加入如下代碼:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
另外一個方案是在python的Lib\site-packages文件夾下新建一個sitecustomize.py,內容爲:
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')