レッスン5 / 5問目

『with文によるファイル操作』

ファイルを開く方法には、open関数を用いる方法と、with文を用いる方法の2通りの方法があります。
このレッスンでは「with文」を用いてファイルを開く方法について学習していきます。

with文とは

open関数を用いてファイルを開く場合は、ファイルを使用した後にcloseメソッドを用いて、ファイルを閉じる必要がありました。

しかし、with文を使うと明示的にファイルを閉じる必要がなく、自動的にファイルが閉じられます
自動的にファイルが閉じられるため、ファイルの閉じ忘れがなくなるというメリットがあります。

with文は以下のように記述します。

with open("パス", "モード") as 変数:

    処理

with openでファイルを開きます。引数には、これまでと同様に第一引数にファイルパス、第二引数にモード、第三引数にエンコーディングを指定します。
as 変数でファイルオブジェクトを変数に代入します。そして行末に : (コロン)を記述し、次の行から処理を記述します。処理のの前には、if文やfor文と同じようにインデントが必要となります。
そして、with文のブロックを抜けるとファイルが自動的に閉じられます。

では具体例を見ていきましょう。
以下の例では /sample1.txt を開き、ファイルの内容を出力しています。

  1. with open("/sample1.txt", "r") as file:    # with文でファイルを開く
  2.     print(file.read())
【サンプルファイル1】 これはサンプルファイルです。

with文を用いてファイルを開き、ファイルの内容を読み取ることができました。

with文はopen関数とは異なり、明示的にファイルを閉じる必要がないため、ファイルを閉じ忘れることがなくなるというメリットがあります。そのため、積極的にwith文を使っていくことをお勧めします。


ではこのレッスンは以上となります。
演習課題にチャレンジしましょう。

Lesson1

with文を用いて /sample1.txt に下記文字列を上書きで書き込んでください。

書き込む文字列:

ファイルパス:

Lesson2

/sample1.txt を読み取り、出力してください。


当サイトのコード実行環境は、コード実行ごとにファイル内容など、環境がリセットされます。

Last updated:2019/12/20

Hello Python

上書きの場合はopen()のに第二引数に"w"を指定します。

  1. # 問題1
  2. with open("/sample1.txt", "w") as file:
  3. file.write("Hello Python")
  4. # 問題2
  5. with open("/sample1.txt", "r") as file:
  6. print(file.read())
main.py
設定
g
n
i
d
a
o
L