C 有 perror 和 errno,它们打印并存储遇到的最后一个错误。这在执行文件 io 时很方便,因为我不必 fstat() 每个失败的文件作为 fopen() 的参数来向用户显示调用失败的原因。
我想知道在 python 中优雅地处理 IOError 异常时获取 errno 的正确方法是什么?
在 [1] 中: fp = open("/notthere")
-------------------------------------------------- -------------------------
IOError Traceback(最近一次调用最后一次)
/home/mugen/ in ()
IOError:[Errno 2] 没有这样的文件或目录:'/notthere'
在 [2] 中: fp = open("test/testfile")
-------------------------------------------------- -------------------------
IOError Traceback(最近一次调用最后一次)
/home/mugen/ in ()
IOError:[Errno 13] 权限被拒绝:'test/testfile'
在 [5] 中:尝试:
...: fp = open("没有")
...:除了 IOError:
...:打印“由于某种原因失败了...”
...:
...:
由于某种原因,这失败了......