㈠ python3 codecs.open和open的區別
最早的時候,只有open。
你知道的,Python 2的編碼多麼蛋疼,所以,就有了codecs.open.
至於io.open,其實是因為Python 2的open實際上是file模塊提供的,而Python 3的open是io模塊提供的。然後,Python 2.6引入了這個Python 3的特性,叫做io.open,以便和原來的open相區分。
但是,這個Python 2.6的io.open是有問題的,在一些情況下表現很怪異。Python 2.7的io.open就正常了。
個人建議:
Python3直接用open。
Python2.x下用codecs.open,特別是有中文的情況,然後也可以避免踩到2.6下面io.open的坑。
如果希望代碼同時兼容Python2和Python3,那麼推薦用codecs.open。