1. 程式人生 > >Python 處理編碼方式問題 python reload(sys)無法使用

Python 處理編碼方式問題 python reload(sys)無法使用

python 2.X版本

當程式中出現非ascii編碼時,python的處理常常會報這樣的錯UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x?? in position 1: ordinal not in range(128),python沒辦法處理非ascii編碼的,此時需要自己設定python的預設編碼,一般設定為utf8的編碼格式。

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')

python 3.X版本

當我們使用python 3.X版本時,發現上述函式並無法實現,會出現
Unresolved reference ‘reload’的表述,因為:
python 已經不支援reload(sys)
替換為如下函式

import importlib
importlib.reload(sys)