如何在Python中运行程序时检查按钮是否被按下

我想在 Python 中运行一个程序,同时还始终检查是否按下了按钮(物理类型)。该程序看起来像这样:


import stuff


a = True


def main():

        important stuff which takes about 10 seconds to complete


while True:

        if a == True:

                main() 

                #at the same time as running main(), I also want to check if a button

                #has been pressed. If so I want to set a to False

我可以在 main 完成后检查按钮是否已被按下,但这意味着当 python 检查按钮是否已被按下(或按住按钮)时,我必须在瞬间按下按钮。


如何让 python在main() 运行时检查按钮是否被按下?


繁星点点滴滴
浏览 108回答 1
1回答

扬帆大鱼

您可以尝试以下方法。该main功能每秒打印一个数字,您可以通过输入“s”+ Enter 键来中断它:import threadingimport timea = Truedef main():    for i in range(10):        if a:            time.sleep(1)            print(i) def interrupt():    global a # otherwise you can only read, and not modify "a" value globally    if input("You can type 's' to stop :") == "s":        print("interrupt !")        a = Falset1 = threading.Thread(target=main)t1.start()interrupt()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python