重複の可能性:
Python - ファイルとオープンをいつ使用するか
公式のpythonドキュメントから、
http://docs.python.org/library/functions.html#file
ファイルを開くときは、このコンストラクターを直接呼び出すのではなく、open() を使用することをお勧めします
しかし、それは理由を与えません。
重複の可能性:
Python - ファイルとオープンをいつ使用するか
公式のpythonドキュメントから、
http://docs.python.org/library/functions.html#file
ファイルを開くときは、このコンストラクターを直接呼び出すのではなく、open() を使用することをお勧めします
しかし、それは理由を与えません。
それを行う明白な方法が 1 つ (できれば 1 つだけ) ある必要があります。
だからどちらfile
かopen
行くべきです。
>>> type(file)
<type 'type'>
>>> type(open)
<type 'builtin_function_or_method'>
open
何でも返すことができる関数です。file()
オブジェクトのみを返しfile
ます。
open
Python 2のオブジェクトのみを返すようですが、 file
Python 2.5より前file
はopen
同じオブジェクトです。
@gnibbler がコメントで示唆したように、存在する本来の理由は、file
それを基本クラスの名前として使用することです。
また、file()
原則として、たとえばint()
以前の Python バージョンで行ったように、他の型を返すこともできます。
>>> type(int(2**64)) is long
True
>>> type(int()) is int
True
>>> int is long
False
この回答は、 @ Ryan の回答と非常によく似ています。
さらに、BDFL は次のように述べています。
「ファイル クラスは Python 2.2 で新しく追加されました。これは、組み込みの open() 関数によって返されるオブジェクトの型 (クラス) を表します。そのコンストラクターは、open() のエイリアスですが、将来および下位互換性のために、open()引き続き優先されます。」(私のものを強調)