python - 如何在x秒后在Python的输入上强制使用 “enter”?

标签 python python-3.x multithreading input time

那是我的代码:

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

当用户在USB键盘上键入而非具有“Enter”键的程序时,该程序会自动打开一扇门。

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

我怎样才能做到这一点?

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

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

最佳答案

这对我来说很好:

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

关于python - 如何在x秒后在Python的输入上强制使用 “enter”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51716996/

相关文章:

python - 从对象化 XML 中高效获取多个切片

python - 如何访问图形工具边缘?为什么图形工具边没有 id?

python - 使用 psycopg2 和 POSTGRESQL 在 Python 中正确定义 SELECT 查询的可选参数

android - 如何使用 RunOnUiThread 更新屏幕上的一些 TextView

java - Java 中的同步 - Thinking in Java 示例

python - Smartsheet CHECKBOX 单元格始终返回为空

python - 运行 python manage.py shell 我得到错误 : DLL load failed: The specified module could not be found.

python - 如何更改虚拟环境在 Ubuntu 14.04 中使用的 python 版本?

python - 如何以正确的顺序导入Scrapy项目 key ?

c# - 卡住 GUI 元素