Python でファイルに書きこむ
テキストに文字列を書きこむプログラムを考えます。
file = open('data.txt', 'w')
try:
file.write('apple')
finally:
file.close()
data.txt
apple
ここで、このプログラムファイルと data.txt は同じディレクトリにあるとします。
open は第一引数をファイル名、第二引数を w とします。ファイル名は相対パスでも絶対パスでもかまいません。その後、例外処理(try)でファイルの中身を取得します。finally でファイルを閉じます。
プログラムを実行するとファイルが上書きされ、最初のデータが消えて apple になります。open の第二引数 w は上書きを意味します。
上書きでなく追記にしたいときは w を a とします。
file = open('data.txt', 'a')
try:
file.write('apple')
finally:
file.close()
プログラムを実行するたびに apple が追記されます。4回実行すれば
data.txt
appleappleappleapple
となります。
モード
open の第二引数は次の意味を持っています。
記号 | 意味 |
---|---|
r | 読み込み |
w | 書き込み(上書き) |
a | 書き込み(追記) |
r+ | 読み書き |
w+ | 読み書き |
a+ | 読み書き(追記) |
w を指定すると、ファイルがなかった場合に新規作成します。書き込むファイルが存在するかチェックする必要はありません。