如何在x秒后强制“输入” Python输入?

时间:2018-08-06 23:44:40

标签: python python-3.x multithreading input time

那是我的代码:

while True:
    prompt = "Enter code: "
    code = input(prompt)
    if code == "123":
        open_door()

当用户在没有“ Enter”键的USB键盘上键入“ 123”时,程序会自动打开门。

由于我的键盘没有“ Enter”键,因此我想在5秒钟后强制执行“ Enter”。循环开始后5秒钟,无论键入什么内容,程序都将按“ Enter”。如果在按下“ Enter”键时code成功地成功按住“ 123”键,则门是打开的;否则,将有第二次机会。

我该怎么做?

其他信息:该程序将在Raspberry Pi 3中运行,但我使用Mac进行测试。

请注意,“购买带有“ Enter”键的小键盘”是不可能的,因为它实际上不是小键盘。这是一个RFID读取器,其功能完全类似于键盘。我更喜欢使用“键盘”来理解。

1 个答案:

答案 0 :(得分:0)

这对我来说很好:

import pyautogui
import threading

def break_input():
    time.sleep(5)
    pyautogui.press('enter')

while True:
    threading.Thread(target=break_input).start()
    prompt = "Enter code: "
    code = input(prompt)
    if code == '123':
        open_door()

您将需要第三方库pyautogui