Situation in Python3 according to the docs:
io.open(file, *[options]*)
This is an alias for the builtin open() function.
and
While the builtin open() and the associated io module are the
recommended approach for working with encoded text files, this module
[i.e. codecs] provides additional utility functions and classes that
allow the use of a wider range of codecs when working with binary
files
(bold and italics are my edits)