[英]Multiple Tries in Try/Except Block
我有一些python代码,我可以接受两个不同的文件名,所以我想做一些像尝试第一个文件名,如果有异常然后尝试第二个文件名,如果第二次尝试失败,然后提出异常和处理错误。
所以基本逻辑是:
first try this:
f = file(name1)
if not, then try this
f = file(name2)
else
error()
我很确定我可以使用嵌套的try / except块来做到这一点,但这似乎不是一个好的解决方案。 此外,如果我想扩展到20个不同的文件名,那么嵌套try / except块会变得非常混乱。
谢谢!
你可以简单地使用for
循环:
for name in filenames:
try:
f = open(name)
break
except IOError:
pass
else:
# error
你可以try ... except
循环try ... except
像:
for f_name in names:
try:
f = open(f_name, 'r')
# do something
break # Exit from the loop if you reached this point
except:
print 'error, going to try the next one'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.