我在阅读this question和this 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
适用于该功能,而不适用于整个程序。有什么建议吗?
答案 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()