gpt4 book ai didi

python - OSError 的文件名属性不可用?

转载 作者:太空狗 更新时间:2023-10-29 22:01:19 27 4
gpt4 key购买 nike

我有以下代码:

except(OSError) as (errno, strerror, filename):
print "OSError [%d]: %s at %s" % (errno, strerror, filename)

除非遇到 OSError num,否则它运行良好。 123(文件名、目录名或卷标语法不正确)。然后我在 except 代码行收到以下错误:

ValueError: need more than 2 values to unpack

不使用filename属性解决。但是,我的要求阻止我不使用此属性。

还有别的办法吗?

最佳答案

我还没有看到这种将异常对象的属性传递给 as 子句的异常处理。

通常,您处理 except ExceptionObject as e 并像通常处理对象的属性一样处理属性。

OSError 包含一个 errno 属性是来自 errno 的数字错误代码,strerror 属性是相应的字符串,对于涉及文件系统路径的异常(例如 chdir() 或 unlink()),异常实例将包含第三个属性,文件名,它是传递给函数的文件名。

import os
try:
os.chdir('somenonexistingdir')
except OSError as e:
print e.errno
print e.filename
print e.strerror

关于python - OSError 的文件名属性不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4681603/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com