Разница между io.open и open в python

Раньше там были codecs которые заменили io. Хотя кажется более целесообразным использовать io.open, большинство вводных классов python по-прежнему преподают open.

Есть вопрос с Различием между open и codecs.open в Python, но open простой утиный тип io.open?

Если нет, то почему лучше использовать io.open? И почему легче преподавать с open?

В этом сообщении (http://code.activestate.com/lists/python-list/681909/) Стивен ДАПРАНО говорит, что встроенный open использует io.open в бэкэнд. Итак, мы все реорганизовали наш код для использования open вместо io.open?

Помимо обратной совместимости для py2.x, есть ли причина использовать io.open вместо open в py3.0?

Ответ 1

Ситуация в Python3 в соответствии с документами:

io.open(file, *[options]*)

Это псевдоним для встроенной функции open().

а также

Хотя встроенный open() и связанный с ним io-модуль являются рекомендуемым подходом для работы с закодированными текстовыми файлами, этот модуль [т.е. кодеки] предоставляет дополнительные функции и классы функций, которые позволяют использовать более широкий набор кодеков при работе с двоичными файлами

(жирным шрифтом и курсивом являются мои правки)