過去には、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
バックエンドで。 それで、io.open
の代わりにopen
を使用するようにコードをすべてリファクタリングする必要がありますか?
py2.xの下位互換性以外に、py3.0でopen
の代わりにio.open
を使用する理由はありますか?
ドキュメントによるPython3の状況:
io.open(file, *[options]*)
これは組み込みのopen()関数のエイリアスです。
そして
組み込みのopen()および関連するioモジュールが推奨されるアプローチですがエンコードされたテキストファイルを操作する場合、このモジュール[i.e。コーデック]は、バイナリファイルで作業するときに幅広いコーデックを使用できるようにする追加のユーティリティ関数とクラスを提供します
(太字と斜体は私の編集です)