0

我想知道当我要求用户输入时是否有任何方法可以检测自要求用户输入以来经过了多少秒?

我希望能够有某种计时器,如果用户没有输入答案并按下回车键 15 分钟,则跳转到另一个功能,或者将用户输入设置为某个默认值并继续。

这是用户的输入:

res = input('Test result? "(P)ass,(F)ail,(R)etry,(S)ave and Quit,(Q)uit": ')

15 分钟(900 秒)后,设置 res = "S" 并继续。

或类似的东西。

我对类似事物的调查使我相信该解决方案可能不是跨平台的。我正在 Red Hat Linux 中运行这个脚本。另外,我正在通过 PuTTY 访问和执行脚本。

任何帮助将不胜感激。

谢谢你。

4

1 回答 1

1

以跨平台的方式实际上很容易做到这一点。

您应该能够通过启动一个线程来处理用户输入并从主循环监视线程和时间来做到这一点。

一些相关点:

  • 线程模块的文档可以在这里找到。

你的代码

res = input('Test result? "(P)ass,(F)ail,(R)etry,(S)ave and Quit,(Q)uit": ')

应该从子线程运行。

  • 对于您需要的分辨率,您可以通过time模块监控时间。
于 2015-05-27T19:19:05.160 回答