如何检测 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. 监控时间
我想知道当我要求用户输入时,是否有任何方法可以检测自要求用户输入以来已经过去了多少秒?
我希望能够有某种计时器,如果用户在 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. 监控时间