Python – ファイル入出力
2011年12月26日 12:48 AM by Abalone




大抵のプログラム言語でファイルへの入出力は可能でしょう。Pythonでももちろん可能。
組み込み関数のopen()を使用する。

open()は組み込み関数なんだが、ファイルを閉じるときにはファイルオブジェクトのclose()メソッドを呼ぶ。

何でだろうなぁ、と思っていたので調査。と言ってもマニュアルを読んだくらいだけど。

組み込み関数open()は、ファイルオブジェクトを返却する。実はどうもファイルオブジェクトを直接作ることも可能らしい。


fp = file('test.txt','w')
fp.close()

これでもファイルは作成される。作成されるファイルは、ファイル名 “test.txt”、書き込みモードでオープンされる。

ここで呼び出しているfile()は、ファイル型のコンストラクタ。ファイル型のオブジェクトを作成することでファイルがオープンできるという仕組み。

これでも開けるのだが、マニュアルによると、組み込み関数open()を使うことが好ましいとされていて、file型は、コンストラクタを呼び出すような使い方よりも、例えばisinstance()等で使用して型を確認する等の用途により適している、とされている(そういう風に使うべきと書かれているように読める)。されているのだが、残念ながら理由は書いてない。

fp = open('test.txt','w')
fp.close()

書いてないけど、マニュアルにそう書いてあるので、とりあえずこう書いた方が良さそうだ。

こんな感じで作成したファイルオブジェクトを介して書き込みが可能になる。しかし、なんでfile型のコンストラクタを使わない方がいいのだろう。組み込み関数なのでopen()の方が早い、ってことなんだろうか。

とりあえず、実際の読み書きはまた次回。





トラックバックURL


この記事に対するコメント/トラックバックはまだありません


コメントをどうぞ

お名前(必須)
Eメールアドレス(公開されません)(必須)