如何检测 python 应用程序 (Linux) 中的用户不活动时间?

How to detect user inactivity time in python application (Linux)?

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

我希望能够有某种计时器,如果用户在 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 访问和执行脚本。

如有任何帮助,我们将不胜感激。

谢谢。

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

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

一些相关要点:

  • 可以找到线程模块的文档 here

您的代码

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

应该运行来自子线程。

  • 对于您需要的分辨率,您可以通过time module.
  • 监控时间