停止执行Python脚本

时间:2019-01-04 14:18:25

标签: python python-3.x exit turtle-graphics

我在阅读this questionthis other one之后写了这个问题。 我想在按下按钮时停止执行Python脚本。这里的代码:

import turtle
from sys import exit

def stop_program():
    print("exit function")
    exit(0) #raise SystemExit(0) gives the same result
    print("after the exit function")

# Create keyboard binding
turtle.listen()
turtle.onkey(stop_program, "q")

# Main function
while True:
    # Code: everything you want

如果我按下按钮“ q”(甚至是多个时间),输出为:

exit function
exit function
exit function
exit function
exit function
exit function
exit function
...

即每次按一行。 这意味着exit适用于该功能,而不适用于整个程序。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

不要使用while循环,请使用turtle.mainloop()

import turtle
from sys import exit

def stop_program():
    print("exit function")
    exit(0) #raise SystemExit(0) gives the same result
    print("after the exit function")

# Create keyboard binding
turtle.listen()
turtle.onkey(stop_program, "q")


turtle.mainloop()

这对我来说似乎很好,请尝试一下。

答案 1 :(得分:-1)

尝试使用:sys.exit(),看看是否可行。下面的代码对我有用。

import turtle
import sys

def stop_program():
 print("exit function")
 sys.exit() #raise SystemExit(0) gives the same result
 print("after the exit function")


 # Create keyboard binding
 turtle.listen()
 turtle.onkey(stop_program, "q")
 turtle.mainloop()