python - 如何在 x 秒后对 Python 的输入强制“输入”?
问题描述
那是我的代码:
while True:
prompt = "Enter code: "
code = input(prompt)
if code == "123":
open_door()
当用户在没有“Enter”键的 USB 键盘上键入“123”时,程序会自动打开一扇门。
由于我的键盘没有“Enter”键,我想在 5 秒后强制“Enter”。循环开始 5 秒后,无论输入什么,程序都会按“Enter”。如果按code
“Enter”键成功按住“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
。
推荐阅读
- android - UsageStatsManager 没有为时间间隔提供适当的数据
- c# - 让 TcpClient 等到数据写入
- sql - 提取其他字段也匹配的重复值
- python - 迭代时无法修改 Pandas DataFrame
- c# - 如何在 UWP 中创建带有叠加层的视频?
- reactjs - 从 Create React App 弹出后高阶组件文件中的问题
- java - 如何在 Java 中获取 XML 抽象元素的实际对象
- asp.net-mvc - 在 linq 中加入两个表问题
- gradle - 在 gradle 构建期间未找到插件错误
- java - 没有找到异常hibernate.properties