【发布时间】:2018-04-01 01:15:49
【问题描述】:
Python3:我试图让用户在给定的时间内将响应输入到输入中,但是在给定的时间之后,如果他们没有输入任何内容,我想中止输入并分配一个存储输入的变量的默认值,或者在给定时间段后将默认值输入到输入语句中。
我试过这个:
from threading import Timer
timeout = 2
t = Timer(timeout, print, ["\nSorry, time is up"])
t.start()
answer = input("You have 2 seconds to answer:")
t.cancel()
print(answer)
来自不同的堆栈溢出帖子,但问题是即使在执行了最后一行并打印了answer 之后,解释器仍会提示用户输入,这不适用于我想要的做(本质上,一个命令行游戏需要在玩家没有输入时继续运行,但在收到输入时更新)。
最好的方法是什么?我知道python并没有真正的超时功能或类似的东西,但是有没有办法通过系统命令或模块来实现呢?
【问题讨论】:
标签: python python-3.x input timeout