我用的是python 2.7,因為2.7的默認編碼方式是ascii碼,所以要把編碼方式設置為utf-8.
但是在jupyter notebook中,加上了
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
後就不能print輸出內容了。
而在pycharm等ide中就沒有這樣的問題。請問這怎麼解決呢?
這個問題已經解決了,參考了http://www.2cto.com/kf/201411/355112.html
主要是reload(sys)的時候,sys.stdout 這個參數被重置為了ipython 的對象,導致無法輸出。
解決方式:
stdi, stdo, stde = sys.stdin, sys.stdout, sys.stderr
reload(sys)
sys.setdefaultencoding('utf-8')
sys.stdin, sys.stdout, sys.stderr = stdi, stdo, stde
實際上只有stdout 被改了,其它兩個參數好像沒改。