我想知道在python中正常处理IOError异常时,抓取errno的正确方法是什么?
在[1]中:fp = open(“/ notthere”)
---------------------------------------------------------------------------
IOError追踪(最近一次调用最后)
/ home / mugen / in()
IOError:[Errno 2]没有这样的文件或目录:'/ notthere'
在[2]中:fp = open(“test / testfile”)
---------------------------------------------------------------------------
IOError追踪(最近一次调用最后)
/ home / mugen / in()
IOError:[Errno 13]权限被拒绝:'test / testfile'
在[5]中:尝试:
...:fp = open(“nothere”)
...:除了IOError:
...:打印“由于某种原因失败......”
...:
...:
由于某种原因,这失败了......
发布于 2018-03-16 16:17:54
例外有一个errno
属性:
try:
fp = open("nothere")
except IOError as e:
print(e.errno)
print(e)
发布于 2018-03-16 16:46:43
这是你如何做到的。另请参阅某些实用程序的errno
模块和os.strerror
功能。
import os, errno
try:
f = open('asdfasdf', 'r')
except IOError as ioex:
print 'errno:', ioex.errno
print 'err code:', errno.errorcode[ioex.errno]
print 'err message:', os.strerror(ioex.errno)
有关IOError属性的更多信息,请参阅基类EnvironmentError:
https://stackoverflow.com/questions/-100007652
复制相似问题