【Pythonを使い倒す】ファイルの書き出し方を覚えて、計算の実行結果やプログラムの途中の状態などを保存できるようになろう!

前回の記事では、特殊なメソッドを活用してキレイなコードの書き方を解説をしました。今回はファイルの書き出しを解説します。
今回はデータをファイルに書き出します。
プログラムが閉じてもデータの永続化するようになります。
データをファイルに書き込むためには、

  1. ファイルを開く
  2. ファイルにデータを書き出す
  3. ファイルを閉じる

というステップが必要です。

ファイルを開いて書き込む

ファイルを開くには open()関数をファイルを閉じるにはclose()関数を用います。
以下の例ではwrite()関数を用いてデータをファイルに書き出します。
greetings.txtというファイル名が存在しない場合は新規作成、存在する場合は上書きします。

ファイルを開いて書き込む
greetings = "Good morning!\nGood afternoon!\nGood evening!\nGood night!" # \nは改行記号

f = open("greetings.txt", "w") # ファイルを開く "w"を指定すると書き込み
a = f.write(greetings) # ファイルに書き込みんで、書き込んだ文字数を得る
f.close() # ファイルを閉じる

print(a)
実行結果

55

それではこちらのセルのコードを見ていきましょう。
変数greetingsには、上記のような文字列が入っています。
バックスラッシュn(\n)がいくつか入っています。
※\n は改行を示す特殊記号

この文字列をファイルに書き出します。
まずopen()関数を使ってファイルを開きます。
第1引数でファイル名を指定して、第2引数に”w”を指定します。
“w”を指定すると書き込みになります。
読み込みの際はまた別の指定が必要です。
この名前のファイル名が存在しない場合は新規作成、存在する場合は上書きになります。
このopen()関数によって作られたオブジェクト f を使ってファイルに書き込みを行います。
その際に、write()関数を用います。
そして引数として先ほどの文字列を渡します。
以上によりファイルに書き込みが行われ、書き込んだ文字数を得ることができます。
書き込みの処理が終わったら、ファイルは必ず閉じます。
ファイルを閉じるにはclose()関数を用います。
その後、文字数をプリントします。

実行すると上記のように55という文字数が表示されます。
それではgreetings.txtを開いてデータが書き込まれていることを確認しましょう。
greetings.txtを開いてみるとこのように4行にわたる文章がありますね。

改行記号で改行が行われていることが確認できます。
このようにファイルに文字列を書き込むことができました。

for文によるループを用いてリストの内容をファイルに書き込む

また、以下のようにして、for文によるループを用いてリストの内容をファイルに書き込むことができます。

for文によるループを用いてリストの内容をファイルに書き込む
greetings = ["Good morning!\n", "Good afternoon!\n", "Good evening!\n", "Good night!"]

f = open("greetings.txt", "w")
for g in greetings:
    f.write(g) # リストの各要素をファイルに書き込み
f.close()

こちらのセルにはgreetingsというリストがあります。
リストの中には4つの改行を伴う文字列が入っています。
for 文によるループを用いてリストの各要素をファイルに書き込みます。
それでは実行します。

greetings.txtを再び開いてデータが書き込まれていることを確認しましょう。
先ほどのタブを閉じて再びgreetings.txtを開きます。

今回greetings.txt上書きされたわけですが、このようにリストの内容をファイルに書き込むことができました。

このようにしてデータをファイルに保存することができます。
今回はファイルへの書き出しを解説しました。

計算の実行結果やプログラムの途中の状態などを保存できるようになりました。