Python 100Days Challenge Day11
Pythonで例外処理を実装してみる。Pythonでは、try
, except
, finally
を使う。
例外処理はプログラムが予期しないエラーに対処するための機能。
例外処理の書き方
基本構文は以下の通り。
try:
# ここにエラーが発生する可能性のあるコードを書く
pass
except SomeException as e:
# エラーが発生したときの処理をここに書く
pass
finally:
# エラーが発生してもしなくても必ず実行されるコードをここに書く
pass
ファイル読み込み処理を書いてみる
処理は大きく4つ
- ファイルを読み込みモードで開く
- ファイルが見つからない場合の処理(例外処理1)
- 入出力エラーが発生した場合の処理(例外処理2)
- 最後に必ず実行される処理
この4つであればファイルの読み込み処理ができそう。
def read_file(file_path):
try:
# ファイルを読み込みモードで開く
with open(file_path, 'r') as file:
content = file.read()
print("ファイルが読み込まれました")
return content
except FileNotFoundError as e:
# ファイルが見つからない場合の処理
print(f"エラー: '{file_path}'内にファイルが見つかりません。")
except IOError as e:
# 入出力エラーが発生した場合の処理
print(f"エラー: 入出力に問題があります。'{file_path}'")
finally:
# 最後に必ず実行される処理
print("ファイルの読み込みを終了しました")
# ファイルの情報
file_path = 'sample.txt'
file_content = read_file(file_path)
'r'
について。'r'
は、Pythonでファイルを開くときに使用するモード指定の一つ。
ファイル操作をするときは以下のようなモードを指定する。
ファイルを開くときのモード
‘r’
(read):読み込み専用- ファイルの中身を見るだけのモード指定。ファイルに書き込みはできない。
- デフォルトモード
‘w’
(write):書き込み専用- ファイルに書き込むためのモード。ファイルがない場合は新しく作成する。
- 元々ファイルがある場合、内容が上書きされる。
‘a’
(add):追記- ファイルに新しい内容を追加するモード。内容は上書きされない。
‘b’
:バイナリ- コンピューターが読めるデータ(画像や音楽など)を扱うモード。
‘rb’
はバイナリファイルを読み込む‘wb’
はバイナリファイルに書き込む
- コンピューターが読めるデータ(画像や音楽など)を扱うモード。
‘+’
:読み書き- ファイルを読み書きできるモード
‘r+’
は読み書きできるモードでファイルを開く‘w+’
は書き込んだり読んだりできるモードでファイルを開く
Memo on programming by Tomo.