web-dev-qa-db-ja.com

io.openとopenの違いpython

過去には、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は組み込みのopenio.openバックエンドで。 それで、io.openの代わりにopenを使用するようにコードをすべてリファクタリングする必要がありますか?

py2.xの下位互換性以外に、py3.0でopenの代わりにio.openを使用する理由はありますか?

25
alvas

ドキュメントによるPython3の状況:

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

これは組み込みのopen()関数のエイリアスです。

そして

組み込みのopen()および関連するioモジュールが推奨されるアプローチですがエンコードされたテキストファイルを操作する場合、このモジュール[i.e。コーデック]は、バイナリファイルで作業するときに幅広いコーデックを使用できるようにする追加のユーティリティ関数とクラスを提供します

(太字と斜体は私の編集です)

33
VPfB