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

时间:2015-05-27 19:06:05

标签: python linux user-input putty user-inactivity

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

我希望能够有某种计时器,如果用户没有输入答案并按下输入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访问并执行脚本。

非常感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

以跨平台的方式实现这一点非常容易。

您应该可以通过启动一个线程来处理用户输入,并从主循环中监视线程和时间来完成此操作。

一些相关要点:

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

您的代码

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

应该从子线程运行。

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