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

文件名去哪儿了?我知道我可以单独打印文件名,但我真的很想(如果有的话)名称是如何存储在异常中的,而不是存储在它的任何一个参数中(打印 exception.errno 给出 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 回答