0

存在しないファイルを開こうとしたときに生成される IOError を処理しようとしています。そうです:

try:
    inputFile = open('nosuchfile', 'r')
except IOError as exception:
    print 'error: %s' % (exception)

これは私に与えます:

error: [Errno 2] No such file or directory: 'nosuchfile'

しかし、私はメッセージだけに興味があり、[Errno 2] の部分には興味がありません。だから私は自分のコードを変更します。

print 'error: %s' % (exception.strerror)

しかし、今私は得る:

error: No such file or directory

ファイルの名前はどこに行きましたか?ファイル名を個別に出力できることはわかっていますが、名前がどのように例外に格納されているか (存在する場合) が、その引数のいずれにも格納されていないことを本当に望んでいます (例外を出力すると 2 が返されます)。

バージョン 2.7.3 を使用しています。

4

1 に答える 1

4

ファイル名は、filenameプロパティに保存されます。

try:
    inputFile = open('nosuchfile', 'r')
except IOError as exception:
    print ('error: %s: %r' % (exception.strerror, exception.filename))
于 2012-09-30T19:14:45.503 に答える