跳过输入函数超时

问题描述

我正在用 Python 3.7 编写任何程序。

我想在特定时间后跳过 input 函数

我的代码结构类似于下面的粗略代码

def functionA():
    ...(skip)...


def functionB():
    ...(skip)...

#TIMEOUT = 0.5
while True:
    TXT = None
    TXT = input("Enter: ")

    if TXT == None:
        functionA()
    elif 'NAME' in TXT:
        functionB()
    elif TXT == 'EXIT':
        break
    else:
        pass

我想在 TXT = input("Enter: ") 时间 0.5 秒后跳过 TIMEOUT 行。我怎样才能按照我想要的方式制作这个流程的代码

解决方法

  • 请注意,仅 0.5 秒的超时不会给用户足够的时间来输入任何内容。我建议多花点时间。

您可以使用 inputtimeout 模块 (available here):

from inputimeout import inputimeout,TimeoutOccurred

def functionA():
    pass


def functionB():
    pass

#TIMEOUT = 0.5
while True:
    TXT = None
    try:
        TXT = inputimeout(prompt = "Enter: ",timeout=0.5)
    except TimeoutOccurred:
        TXT = None

    if TXT == None:
        functionA()
    elif 'NAME' in TXT:
        functionB()
    elif TXT == 'EXIT':
        break
    else:
        pass
,

您可以使用 inputimeout 模块

您可以通过运行 cmd 并输入此命令来安装模块

pip install inputimeout

你可以这样使用

from inputimeout import inputimeout,TimeoutOccurred
try:
    var = inputimeout(prompt='>>',timeout=5)
except TimeoutOccurred:
    var = ''

使用步骤

  1. 导入文件中的模块
  2. 启动 try 方法
  3. 创建一个变量而不是输入使用 inputimeout 函数并输入值 as prompt=timeout=
  4. 如果发生超时,请在 except TimeoutOccurred: 中输入 var 的值