Python中io.open与open的区别
以前有个叫 codecs
的东西,现在被 io
替代了。虽然现在更推荐使用 io.open
,但大多数入门的 Python 课程还是教大家用 open
。
有个问题讨论了 Python 中 open 和 codecs.open 的区别,但难道 open
只是 io.open
的一种变体吗?
如果不是,那为什么使用 io.open
更好?而为什么用 open
教起来更简单呢?
在这篇文章中 (http://code.activestate.com/lists/python-list/681909/),Steven DAprano 说内置的 open
实际上是用 io.open
来实现的。那么我们是不是都应该把代码改成用 open
而不是 io.open
呢?
除了为了兼容 Python 2.x,还有其他理由在 Python 3.0 中使用 io.open
而不是 open
吗?
相关文章:
- 暂无相关问题
1 个回答
44
根据文档,在Python3中的情况是:
io.open(file, *[options]*)
这个其实是内置的open()函数的一个别名。
还有:
虽然内置的open()函数和相关的io模块是处理编码文本文件的推荐方法,但这个模块 [也就是codecs] 提供了一些额外的工具函数和类,可以在处理二进制文件时使用更多种类的编码方式。
(加粗和斜体是我自己的修改)