ファイルへの出力
>>> f = open("helloworld.txt", "w")
>>> f.write("Hello World!!")
>>> f.close()
open関数の第2引数に"w"を指定すると書き込みモードでファイルを開きます。
書き込みが確実に実行されるように、必ず最後にcloseを実行しましょう。
ファイルの複製
>>> fr = open("helloworld.txt") # 第2引数のデフォルト値は"r"
>>> fw = open("helloworld_copy.txt", "w")
>>> fw.write(fr.read())
>>> fr.close()
>>> fw.close()
closeしないとどうなるのか?
>>> f = open("helloworld.txt", "w")
>>> f.write("12345")
この段階では、まだファイルは空の状態だった。
>>> f.close()
Closeを実行した瞬間、writeの内容がファイルに書き込まれた。
この結果から判断するとcloseするまで書き込まれないように思われるが、必ずしもそうではない。
以下の例では、すぐに書き込みが実行される。
>>> open("helloworld.txt", "w").write("54321")
また、最初の例を以下のように変更しても書き込みは実行される。
>>> f = open("helloworld.txt", "w")
>>> f.write("12345")
>>> f = ""
Pythonの実装を確認したわけではないが、ファイルオブジェクトへの「参照」がなくなった時点でcloseが自動的に呼び出されているようだ。このことを利用すると、最初にあげた2つの例は以下のように省略できる。
ファイルへの出力
>>> open("helloworld.txt", "w").write("Hello World!!")
ファイルの複製
>>> open("helloworld_copy.txt", "w").write(open("helloworld.txt").read())
明日の記事では、ファイルの入出力を使った実用的な例を紹介しようと思う。
2009年10月13日火曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿