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

标签 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 访问和执行脚本。

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

谢谢。

最佳答案

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

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

一些相关要点:

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

你的代码

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

应该从子线程运行。

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

关于python - 如何检测 python 应用程序 (Linux) 中的用户不活动时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30491072/

相关文章:

java - 继续循环直到用户输入正确的输入类型?

Javascript 数组效率低下的问题

python:X 服务器上的致命 IO 错误 11(资源暂时不可用):0.0

linux - 是否可以通过mint自动重启5次循环?

python - 如何检查 mpd 是否正在播放或停止?

mysql - 自动执行 MySQL 转储

c++ - 如何用cin一次存储一个值?

python - 从父目录导入函数 `ModuleNotFoundError: No module named ' 函数'`

Python 获取 <title>

python - 创建大小为 2e5 的随机数组时 VisibleDeprecationWarning