我需要能够通过按下按钮来停止机器人。 我已经做了概念验证,我可以通过按下按钮停止程序,但是,我只知道如何一次做一件事。
以下是我所做的代码:
buttons = Button()
while buttons.backspace != True:
time.sleep(.1)
else:
#I guess I need to handle some kind of cleanup here too
pass
这应该在其他代码运行时运行。我怎样才能做到这一点?
答案 0 :(得分:1)
在这里你有通常所说的" Interrupt",所以我们将它放在一个函数上,在守护进程线程(它总是在运行)上调用它,它会看起来像什么像这样:
from threading import Thread
buttons = Button()
def checking_interrupt():
global buttons
while not buttons.backspace:
time.sleep(.1)
else:
#I guess I need to handle some kind of cleanup here too
pass
Thread(target=checking_interrupt).start()
在这里我没有指明它是一个守护程序线程,但是你可以,只是在" daemon"上传递一个boolea true。在你的对象线程构造函数。