【问题标题】:How to detect user inactivity time in python application (Linux)?如何在 python 应用程序(Linux)中检测用户不活动时间?
【发布时间】:2015-05-27 19:06:04
【问题描述】:

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

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

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 在linux中你可以使用curses ...但它不会是超级跨平台的,你需要更改很多代码

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


【解决方案1】:

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

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

一些相关点:

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

你的代码

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

应该从子线程运行。

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

【讨论】:

    猜你喜欢
    • 2016-04-19
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 2011-03-21
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多