代码成功后如何退出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 秒左右完成,则循环放弃。