请问python中opeio.open\codecs.open三者之间作用分别是什么,,如题,这三者有什么区别?
请问python中opeio.open\codecs.open三者之间作用分别是什么,,如题,这三者有什么区别?
如题,这三者有什么区别?
包括它们对Python不同版本的支持,各自的使用场景,将来的趋势(好像社区正在讨论废弃codecs.open)
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都出来这么久了,但是实际采用率呢?未来的事情谁也说不准。
编橙之家文章,
相关内容
- 怎么判断某个开源python项目是否适合自己,判断开源
- pandas内存错误MemoryError如何解决,pandasmemoryerror, File "
- Python爬虫返回unicode字符串如何得到汉字呢,pythonunico
- web开发和部署用pyenv还是virtualenv,pyenvvirtualenv,两种环境
- Python正则过滤特殊字符及乱码符怎么写,python特殊字符
- mac键盘上哪个键是python交互模式下快捷键C+underscore的
- python什么方法可以判断捉取的内容是否有更新,python
- Python TCPServer编程如何保存数据这块的问题,pythontcpse
- 哪里有《Python library reference》中文文档下载,,如题,找
- Python什么方法可以检测到上传的zip炸弹,并预防unzip引爆
评论关闭