【发布时间】:2022-01-14 09:41:52
【问题描述】:
我在互联网上搜索了很长时间,但在 Windows 10 上的 Pyhton 3.6 中找不到我的问题的正确答案。
在开始时,程序应该询问用户是否愿意回答“是 [y] 还是否 [n]?”这个问题。当用户回答“y”或“n”时,一切都很好。
问题是这样的: 5 秒后,输入功能应终止,如果没有任何响应,则应设置默认值(即“n”),程序应自动继续运行。不幸的是,当我按下“回车”时,它只是继续运行。
我现在的代码如下:
from threading import Timer
answer = "n"
timeout = 5
t = Timer(timeout, print, ['\nDefault setting: MA = n'])
t.start()
prompt = "Yes [y] or No [n]?: "
user_input = input(prompt)
t.cancel()
if user_input == "n" or user_input == "y":
answer = user_input
if answer == "n":
print("Answer is n")
else:
print("Answer is y")
【问题讨论】:
-
这能回答你的问题吗? Keyboard input with timeout?
-
我也检查了这个答案。它在 Windows 上不起作用。
-
您是否尝试过其他答案,例如 stackoverflow.com/a/41812246/16841774 ?
-
是的,我也试过了……还是不行。经过长时间的搜索,我找到了一个有效的代码!这是其他人的链接:pypi.org/project/pytimedinput 唯一的一点是您必须在cmd中运行代码...问题可以关闭。还是我应该这样做?
-
你可以用你找到的项目和它的局限性来回答你的问题,并接受你自己的答案。或者,如果您认为这对将来没有任何帮助,您可以删除您的问题。