2015-11-24 12 views
11

これまではcodecsがありましたが、これはioに置き換えられました。 io.openを使用することをお勧めしますが、ほとんどの入門的なPythonクラスはまだopenを教えています。io.openとPythonで開いているとの違い

ありDifference between open and codecs.open in Pythonとの質問ですが、openio.openの単なるアヒル型のですか?

そうでない場合は、なぜio.openを使用する方が良いでしょうか?そして、なぜopenで教えるのが簡単ですか?このポスト(http://code.activestate.com/lists/python-list/681909/)で

、スティーブンDApranoはopenに建てられたが、バックエンドでio.openを使用していることを述べています。 io.openの代わりにopenを使用するようにコードをリファクタリングする必要がありますか? py2.xのための後方互換性以外

、py3.0でio.openの代わりopenを使用する理由はありますか?ドキュメントに記載のpython3で

+1

チェックアウトは '助けを借りて作業する際のコーデックの広い範囲の使用を許可し 追加のユーティリティ関数やクラスを提供します]コーデック(オープン) 'io.open()'と同じであることがわかります - 見出しに 'モジュール内で開いている組み込み関数のヘルプ 'と書かれていても、つまり' io'を使う理由はありません。 Python 3でプログラムを書く場合にはopen()を使用してください。 –

+0

@TimPietzcker、 'io.open'は下位互換性のためだけですか?もしそうなら、私は 'python3' =)のすべての教材を変更する必要があります。 – alvas

+0

そうでしょう。これは2.xから3.xへの移植を容易にしますが、3.xから始める場合は、これをもっと複雑にする必要はありません。 –

答えて

16

状況:

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

これは組み込みのopen()関数の別名です。

組み込みが開いている間()と関連したIOモジュールは、このモジュール 、エンコードされたテキストファイルを操作するため 推奨アプローチある[すなわちバイナリ ファイル

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

関連する問題