2017-03-16 52 views
1

在Python 2.7,我有以下的印刷品和我通過IDLE調試:的Python:SYS防止元素

print 'Here' 
import sys 
reload(sys) 
sys.setdefaultencoding('cp1252') 
print 'There' 

我所得到的回報是

這裏

所以在設置了默認編碼後,它不會打印所需的輸出。 這可能是由於IDLE編碼的衝突嗎?

+0

你爲什麼要做一個'reload(sys)'? – Ryan

+0

請問您爲什麼需要這樣做? –

+0

我使用重新加載,因爲我在這裏閱讀:http://stackoverflow.com/questions/2276200/changing-default-encoding-of-python 我想改變我的編碼爲cp1252,但如果我按照過程中的鏈接上面它不打印任何其他 – Thegamer23

回答

2

因爲無法從sys中找到對setdefaultencoding的引用。這就是爲什麼它不打印「有」

setdefaultencoding已被廢棄,一個不應該使用它!

看看下面的鏈接。 Why should we NOT use sys.setdefaultencoding(「utf-8」) in a py script?

+0

[This](http://stackoverflow.com/questions/3828723/why-should-we-not-use-sys-setdefaultencodingutf-8-in-a-py-script)是也有一些不錯的建議 –

+0

好吧,因爲我在這裏找到它:http://stackoverflow.com/questions/2276200/changing-default-encoding-of-python 有沒有一種方法來改變從Python本身的編碼,使得如果我將我的代碼轉發給朋友,他可以使用更改後的字符集運行它(cp1252) – Thegamer23

+0

這是使用重新加載(sys)更改默認編碼的技巧,但絕不建議按照文檔! – abhinav