过去,codecs
已被io
取代。尽管使用io.open
似乎更合适,但大多数入门python类仍然教授open
。
Difference between open and codecs.open in Python有一个问题,但 open
只是io.open
的鸭子型?
如果没有,为什么使用io.open
会更好?为什么使用open
教学更容易?
在这篇文章(http://code.activestate.com/lists/python-list/681909/)中,Steven DAprano表示内置的open
正在后端使用io.open
。 那么我们是否应该重构我们的代码以使用open
代替io.open
?
除了py2.x的向后兼容性之外,有没有理由在py3.0中使用io.open
而不是open
?
答案 0 :(得分:24)
根据文档在Python3中的情况:
io.open(file, *[options]*)
这是内置open()函数的别名。
和
虽然内置的open()和相关的io模块是 建议的方法用于处理编码的文本文件,这个模块 [即。编解码器] 提供额外的实用程序功能和类 在使用二进制文件时允许使用更广泛的编解码器 文件
(粗体和斜体是我的编辑)