-2
ファイル 'mig.txt'が現在の作業ディレクトリに存在しません。したがって、次のコードではIOError例外が発生し、 'mig.txt'が作成されなかったため 'bat'が定義されていないことを示す 'NameError'も発生するはずです。しかし、たとえファイルが作成されなかったとしても、finallyブロックはどのように正常に動作しますか? Pythonバージョン(3.6.0)に関連するものですか?Pythonの例外
try:
bat=open('mig.txt')
print(bat.readline(),end='')
except IOError:
print('File error')
finally:
bat.close()
出力:あなたのpython 3.6でそれを実行したときにあなたが投稿コードで
File error
どういう意味ですか?属性にアクセスしようとする前に*その名前が存在するかどうかを慎重にチェックします。なぜあなたは名前の誤りを期待するのですか? – jonrsharpe
謝罪。私はちょうど地元の人の 'バット'を取り除くことによってfinallyブロックを編集しなければならなかった: '。私はまだ同じ出力を得る。 –
ファイルmig.txtが作成されていないため、名前のエラーが予想されます。そのため、close()メソッドを正しく呼び出すことは不可能ですか? –