【发布时间】:2021-03-01 09:21:09
【问题描述】:
在 python 中使用 input() 语句会停止整个代码,直到用户输入内容。我的目标是等待输入,然后,如果用户什么也没做,一段时间后输入语句将中断并继续该程序的其余部分。
它的工作方式有点像:
import time
import threading
def ask_for_input():
input("Press Enter to Continue...")
t1 = threading.Thread(target=ask_for_input)
t1.start()
time.sleep(10)
#break out of input statement
在 time.sleep(10) 之后继续执行其余代码的问题是,如果您尝试再次要求用户输入,则用户必须首先跳出第一个输入语句以在下一个输入语句中输入内容一。这意味着如果我尝试这样的事情:
...
time.sleep(10)
input("Press Enter Again to Continue")
用户在退出第一个输入语句之前不会看到“再次按 Enter 以继续”。他们必须按两次 Enter 才能继续。
为了澄清一点,我不是在寻找输入语句在设定的时间中断。相反,我希望能够使用某种函数或标志来触发它的退出。有没有办法做到这一点?
【问题讨论】:
-
您要搜索的词是“超时”。
标签: python-3.x