【Pythonを使い倒す】with構文を用いて、ファイルの読み込みや書き出しを簡潔に扱えるようになろう!

前回の記事では、ファイルの書き出し方を覚えて、計算の実行結果やプログラムの途中の状態などを保存できるようになる書き方を解説をしました。今回はwith構文を解説します。

ファイルの書き込みをwith構文を用いる

with構文を用いて、ファイルの読み込みや書き出しを簡潔に記述することができます。

ファイルの書き込みをwith構文を用いて以下のように記述できます。
with構文を使えば、close( )を呼び出してファイルを閉じる必要はありません。

ファイルの書き込みをwith構文を用いる
fruits = "Apple\nBanana\nOrange\nStrawberry"

with open("fruits.txt", "w") as f: # with構文 close()を呼ばなくてもよい
f.write(fruits)
それではこちらのセルのコードを見ていきましょう。
こちらの文字列がfruitsという変数に入っています。
この文字列をfruits.txtという名前のファイルに書き込みます。
その際に、with構文を用います。

最初にwithと書いてその後にopen()関数を書きます。
そして最後に as と書いてファイルのオブジェクト名を書きます。
その後にコロン(:)を書きます。

次の行でインデントを取ってwrite()関数によりデータの書き込みを行います。
このように、with構文によってファイルを扱うコードがとても簡潔になります。
また、close()関数を呼ぶ必要もなくなります。

それでは実行します。
fruits.txtを開いてデータが書き込まれたことを確認してみましょう。

このように文字列のデータが書き込まれていることが確認できました。

with構文を用いたファイルの中身の呼び出し

同様にwith構文を用いてファイルの読み込みを以下のように記述できます。

with構文を用いたファイルの中身の呼び出し
with open("fruits.txt", "r") as f:
print(f.read())
実行結果

Apple
Banana
Orange
Strawberry

こちらのセルのコードを見て行きましょう。
withの後にopen()関数がありますが、第2引数を”r”にしています。
そしてread()関数でfruits.txtの内容を読み込みます。
実行すると上記のように、fruits.txtの内容が表示されました。
以上のように簡潔な記述が可能であるだけではなく、with構文を用いることでファイルの閉じ忘れを予防することができます。

それでは最後に実装の手順をまとめます。

  1. with構文を用いたコードを記述し、文字列を任意のファイルに書き込んでみる
  2. 書き込んだファイルをwith構文を用いて読み込み、内容を表示してみよう

with構文を用いて簡潔にファイルを扱いましょう。
今回はwith構文を解説しました。
ファイルの扱いがとても楽になったかと思います。