在Python中停止While循环并退出脚本

Dav*_*ave 0 python while-loop sikuli

我正在使用Sikuli OCR测试库.在我的Python脚本中,我正在寻找两个可能出现的图像之一.当其中一个出现时,如果选择该对象.

但是,我想让脚本结束.它没有.我试过了quit(),exit()但那不是这样做的.除了while循环和完成脚本之外,它工作正常.

while True:
    if exists ("lose.png"):
        click ("lose.png")
        print ("***** YOU LOSE! *****")
    if exists ("win.png"):
        click ("win.png")
        print ("***** YOU WIN! *****")
    StopIteration

quit()
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

您可以退出任何循环break:

while True:
    if exists ("lose.png"):
        click ("lose.png")
        print ("***** YOU LOSE! *****")
        break

    if exists ("win.png"):
        click ("win.png")
        print ("***** YOU WIN! *****")
        break
Run Code Online (Sandbox Code Playgroud)

如果两个if语句都没有评估True,则循环继续.

StopIteration是一个例外,通常由迭代器引发,表示它们已完成.大多数使用它的Python代码只需捕获该异常,但如果要提高它,请使用raise StopIteration()语句.这样做没有意义; 您的脚本未作为迭代器运行,并且该StopIteration异常将不具有所需的效果.