84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
小伙看你根骨奇佳,潜力无限,来学PHP伐。
Python2和3的糊涂账……
最早的时候,只有open。 你知道的,Python 2的编码多么蛋疼,所以,就有了codecs.open.
open
codecs.open
至于io.open,其实是因为Python 2的open实际上是file模块提供的,而Python 3的open是io模块提供的。然后,Python 2.6引入了这个Python 3的特性,叫做io.open,以便和原来的open相区分。
io.open
file
但是,这个Python 2.6的io.open是有问题的,在一些情况下表现很怪异。Python 2.7的io.open就正常了。
个人建议:
Python3直接用open。 Python2.x下用codecs.open,特别是有中文的情况,然后也可以避免踩到2.6下面io.open的坑。 如果希望代码同时兼容Python2和Python3,那么推荐用codecs.open。
关于codecs.open废弃的讨论……这个,我只能说,虽然有PEP 404,但是还是有人想要Python 2.8,Python 3都出来这么久了,但是实际采用率呢?未来的事情谁也说不准。
Python2和3的糊涂账……
最早的时候,只有
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
。关于
codecs.open
废弃的讨论……这个,我只能说,虽然有PEP 404,但是还是有人想要Python 2.8,Python 3都出来这么久了,但是实际采用率呢?未来的事情谁也说不准。