1. 程式人生 > >Python sys.setdefaultencoding('utf-8') 後就沒輸出

Python sys.setdefaultencoding('utf-8') 後就沒輸出

col 原來 com stdout 輸出 print bsp png http

為了解決Python的 UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte ,我們可以加入以下代碼。

import sys
reload(sys)
sys.setdefaultencoding(utf-8)

但是在編輯的時候發現,普通的輸出卻不見了,如圖 print 1都沒反應。

技術分享

查資料後解決,原來reload(sys)的時候,sys.stdout 這個參數被重置為了ipython 的對象,導致無法輸出。因此可以用以下代碼代替

import sys
stdo = sys.stdout
reload(sys)
sys.setdefaultencoding(
utf-8) sys.stdout= stdo

Python sys.setdefaultencoding('utf-8') 後就沒輸出