Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何强制一个;输入“;关于Python';x秒后输入什么?_Python_Python 3.x_Multithreading_Input_Time - Fatal编程技术网

如何强制一个;输入“;关于Python';x秒后输入什么?

如何强制一个;输入“;关于Python';x秒后输入什么?,python,python-3.x,multithreading,input,time,Python,Python 3.x,Multithreading,Input,Time,这是我的密码: while True: prompt = "Enter code: " code = input(prompt) if code == "123": open_door() 当用户在USB键盘上键入“123”时,程序会自动打开一扇门,而该USB键盘不具有“回车”键 由于我的键盘没有“回车”键,我想在5秒钟后强制“回车”。循环开始5秒后,无论键入什么,程序都会点击“回车”。如果在按下“Enter”(进入)时,碰巧code成功按住“123”,

这是我的密码:

while True:
    prompt = "Enter code: "
    code = input(prompt)
    if code == "123":
        open_door()
当用户在USB键盘上键入“123”时,程序会自动打开一扇门,而该USB键盘不具有“回车”键

由于我的键盘没有“回车”键,我想在5秒钟后强制“回车”。循环开始5秒后,无论键入什么,程序都会点击“回车”。如果在按下“Enter”(进入)时,碰巧
code
成功按住“123”,则门打开;否则,还有第二次机会

我该怎么做

Addt'l info:这个程序将在Raspberry Pi 3中运行,但我使用Mac进行测试


请注意,“购买带有“回车”键的键盘”是不可能的,因为它实际上不是一个键盘;它是一个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

指定一些结束字符,并尝试使用此字符逐个读取。忽略我的第一条注释,我误读了。没有这项技术的图书馆吗?我发现它依赖标准的
input()
@roganjosh而不依赖标准的
input()
,这很不寻常。实际上,它不依赖任何东西。它是一个USB读卡器,当靠近RFID卡时,它会像键盘一样键入卡的代码。它只是“按”键,但最后不按“回车”。如果我打开记事本,它会将卡片的代码输入记事本,如果我打开计算器,它会将代码输入计算器。