Python获取有超时的用户输入
本教程将讨论使用Python的inputimeout
库从一个有超时时间的用户那里获得输入。
Python 获取有超时的用户输入
如果我们想在一个特定的时间段内获取用户的输入,比如5秒,我们可以使用Python的inputimeout
库。我们可以使用pip
,用下面这行代码来安装这个库。
pip install inputimeout
我们可以在PowerShell或命令提示符下运行这个命令来安装inputimeout
库。在运行上述命令之前,请确保pip
已经安装并添加到PATH
中。
如果pip
没有被添加到路径中,我们必须提供pip.exe
文件的完整路径及其名称,以便在PowerShell
或命令提示符中使用。下面是使用的例子。
C:UsersammarAppDataLocalProgramsPythonPython39Scriptspip.exe install inputimeout
如果inputimeout
,没有任何错误的安装,我们可以导入inputimeout
和TimeoutOccured
模块,在我们的代码中使用。inputimeout()
函数将接受用户的输入,我们可以在里面传递两个参数。
第一个参数,prompt
,是我们在接受输入时要显示给用户的信息;这个参数是可选的。第二个参数,timeout
,用于设置时间,以秒为单位,该函数将等待到给定的时间。之后,它将引发一个异常,我们可以使用异常名称TimeoutOccured
,我们可以将其与try-except
语句一起使用以避免错误。
from inputimeout import inputimeout, TimeoutOccurred
try:
user_input = inputimeout(prompt='Enter input: n', timeout=5)
except TimeoutOccurred:
user_input = 'you have not entered any input'
print(user_input)
输出:
Enter input:
you have not entered any input
在上面的代码中,我们使用了Python的try-except
语句来避免在用户没有在给定的时间内输入任何信息时出现异常。我们使用了异常的名称,将输入的内容设置为其他的东西,比如默认值。
如果用户输入了输入,就会被打印出来,如果用户在给定的超时时间内没有输入任何输入,就会打印默认输入。输入的内容被保存在user_input
变量中。
请查看这个链接,了解关于inputimeout
库的更多细节。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。