我如何使一个按钮在任何时候中断一个函数并在Python中重新启动它?

2024-09-20 06:57:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我到目前为止所做的:

#!/usr/bin/env python3
import time
import os
import sys
import glob
import getch

from playsound import playsound
from itertools import count
from evdev import InputDevice, categorize, ecodes

gamepad = InputDevice('/dev/input/event3')
print(gamepad)
aBtn = 34
#A button mapped to G keyboard

def bidloop() :
    print ('Bidding start!')
    playsound('bid001.mp3')
    ticktock = 0
    while (ticktock < 3):
        ticktock = ticktock + 1
        playsound('tick.wav')
        time.sleep(1)
        playsound('tock.wav')
        time.sleep(1)
    else:
        playsound('sold.mp3')

for event in gamepad.read_loop():
    if event.type == ecodes.EV_KEY:
        if event.value == 1:
            if event.code == aBtn:
                bidloop()

我希望能够在用户随时按下aBtn时中断bidloop(),并从头开始重新启动。结尾处的for仅在bidloop()完成时起作用


Tags: fromimporteventiftimemp3printwav