Python ファイルの読み書き #2

株式会社リュディアです。引き続きファイルの読み書きについてまとめていきます。今回は open したいファイルが見つからない場合の例外処理についてまとめてみます。

前回までの Python ファイルの読み書きについてのまとめへのリンクは以下を参考にしてください。

以前に例外についてまとめた際に私が利用する数少ない例外処理としてファイルを扱う場合がある旨を記載しました。

今回はファイルが見つからない場合の例外処理について記載してみます。前回と同じく text_test.txt というファイルを読み込むことを前提とします。

次のコードを見てください。text_test.txt と記述すべきところが sample_test.txt となっています。

with open('sample_file.txt') as f:
   data = f.read()
print(data)

# ---------------------------------------------------------------------------
# FileNotFoundError                         Traceback (most recent call last)
# <ipython-input-42-dea7d39d6f0e> in <module>
# ----> 1 with open('sample_file.txt') as f:
#       2     data = f.read()
#       3 print(data)
# 
# FileNotFoundError: [Errno 2] No such file or directory: 'sample_file.txt'

ファイルが存在しないので FileNotFoundError の例外が発生しました。上のプログラムはこの例外に対して処理をしていないのでこのような実行結果になっています。次に例外処理を記述したコード例を示します。

try:
   with open('sample_file.txt') as f:
       data = f.read()
       print(data)
except FileNotFoundError as e:
       print('File not found', e)

# File not found [Errno 2] No such file or directory: 'sample_file.txt'

いかがでしょうか。except 節で FileNotFoundError の例外に対応する記述をしています。今回の例では単に File not found と表示しているだけですが、この部分にファイルが見つからなかった場合の処理を記載すればよいだけです。

今回は with 構文でファイルを open する際の例外処理についてまとめました。

Python ファイルの読み書きに関するまとめの続きは以下からどうぞ。

では、ごきげんよう。



いいなと思ったら応援しよう!