open
Pythonでファイルを開くために使用しています。with
ファイル処理を次のようなステートメントにカプセル化します。
with open(path, 'r') as f:
# do something with f
# this part might throw an exception
このようにして、例外がスローされた場合でも、ファイルが閉じられていることを確認します。
OSError
ただし、ファイルを開くことができない(anがスローされる)場合に対処したいと思います。これを行う1つの方法は、with
ブロック全体をに配置することtry:
です。これは、ファイル処理コードがOSErrorをスローしない限り機能します。
次のようになります。
try:
with open(path, 'rb') as f:
except:
#error handling
# Do something with the file
もちろんこれは機能せず、本当に醜いです。これを行うための賢い方法はありますか?
ありがとう
PS:私はPython3.3を使用しています