代码成功后如何退出try循环?
how to exit try loop after code succeed?
我下面的代码试图执行一个函数 x 但因为 x 需要时间来构建,我需要休眠直到它被构建然后调用它。所以我通常需要大约 300 秒来构建。当我 运行 下面的代码时,它将循环 try 循环大约 3 次,但每次通过 except
代码时都会打印 0
。
将 print x
(当代码成功且我中断时)放在 for 循环之外(如下所示)或其他地方是否正确?另外,我如何让 i
打印它尝试的次数而不是 0
?
for i in range(0,10):
while True:
try:
x = my_get_fuction
except:
print "error"
print i
time.sleep(100)
continue
break
print x
您的 while
循环似乎与您的设计无关。试试这个:
for i in range(0,10):
try:
x = my_get_fuction
except:
print "error"
print i
time.sleep(100)
continue
break
print x
这段代码最多循环10次,每次休眠100秒。如果分配的 x = my_get_function
没有在 1000 秒左右完成,则循环放弃。
我下面的代码试图执行一个函数 x 但因为 x 需要时间来构建,我需要休眠直到它被构建然后调用它。所以我通常需要大约 300 秒来构建。当我 运行 下面的代码时,它将循环 try 循环大约 3 次,但每次通过 except
代码时都会打印 0
。
将 print x
(当代码成功且我中断时)放在 for 循环之外(如下所示)或其他地方是否正确?另外,我如何让 i
打印它尝试的次数而不是 0
?
for i in range(0,10):
while True:
try:
x = my_get_fuction
except:
print "error"
print i
time.sleep(100)
continue
break
print x
您的 while
循环似乎与您的设计无关。试试这个:
for i in range(0,10):
try:
x = my_get_fuction
except:
print "error"
print i
time.sleep(100)
continue
break
print x
这段代码最多循环10次,每次休眠100秒。如果分配的 x = my_get_function
没有在 1000 秒左右完成,则循环放弃。