在Python 2.7,我有以下的印刷品和我通過IDLE調試:的Python:SYS防止元素
print 'Here'
import sys
reload(sys)
sys.setdefaultencoding('cp1252')
print 'There'
我所得到的回報是
這裏
所以在設置了默認編碼後,它不會打印所需的輸出。 這可能是由於IDLE編碼的衝突嗎?
在Python 2.7,我有以下的印刷品和我通過IDLE調試:的Python:SYS防止元素
print 'Here'
import sys
reload(sys)
sys.setdefaultencoding('cp1252')
print 'There'
我所得到的回報是
這裏
所以在設置了默認編碼後,它不會打印所需的輸出。 這可能是由於IDLE編碼的衝突嗎?
因爲無法從sys中找到對setdefaultencoding的引用。這就是爲什麼它不打印「有」
setdefaultencoding已被廢棄,一個不應該使用它!
看看下面的鏈接。 Why should we NOT use sys.setdefaultencoding(「utf-8」) in a py script?
[This](http://stackoverflow.com/questions/3828723/why-should-we-not-use-sys-setdefaultencodingutf-8-in-a-py-script)是也有一些不錯的建議 –
好吧,因爲我在這裏找到它:http://stackoverflow.com/questions/2276200/changing-default-encoding-of-python 有沒有一種方法來改變從Python本身的編碼,使得如果我將我的代碼轉發給朋友,他可以使用更改後的字符集運行它(cp1252) – Thegamer23
這是使用重新加載(sys)更改默認編碼的技巧,但絕不建議按照文檔! – abhinav
你爲什麼要做一個'reload(sys)'? – Ryan
請問您爲什麼需要這樣做? –
我使用重新加載,因爲我在這裏閱讀:http://stackoverflow.com/questions/2276200/changing-default-encoding-of-python 我想改變我的編碼爲cp1252,但如果我按照過程中的鏈接上面它不打印任何其他 – Thegamer23