過去有codecs
被替換爲io
。儘管看起來使用io.open
更爲明智,但大多數介紹性的python類仍然教授open
。io.open vs python中打開的區別
有與Difference between open and codecs.open in Python一個問題,但是open
只有鴨型io.open
?
如果不是,爲什麼使用io.open
更好?爲什麼更容易用open
進行教學?
在這篇文章中(http://code.activestate.com/lists/python-list/681909/),史蒂芬DAprano說,內置的open
使用在後端的io.open
。 所以我們應該重構我們的代碼來使用open
而不是io.open
?
除了py2.x的向後兼容性,是否有任何理由在py3.0中使用io.open
而不是open
?根據該文檔
退房'幫助工作時 允許使用更廣泛的編解碼器的(開放) ',你會發現它和'io.open()'是一樣的 - 甚至標題中顯示'在模塊io中打開內建函數的幫助',所以換句話說,沒有理由使用'io。 open()'如果你用Python 3編寫程序。 –
@TimPietzcker,'io.open'只是爲了向後兼容嗎?如果是這樣,我應該開始更改'python3'的所有類資料=) – alvas
是的,可能。它使得從2.x移植到3.x變得更容易,但如果你從3.x開始,就沒有必要把它變得更復雜。 –