2015-05-27 37 views
0

我想知道是否有任何方法,當我要求用戶輸入時,如果有一種方法來檢測自請求用戶輸入後已經過去了多少秒?如何檢測用戶在python應用程序(Linux)中的不活動時間?

我希望能夠有某種計時器,如果用戶沒有輸入答案並按下回車鍵15分鐘,跳轉到另一個功能,或將用戶輸入設置爲某個默認值和繼續。

下面是用戶的輸入:

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

後15分鐘(900秒),RE集合= 「S」,並繼續。

或類似的東西。

我對類似事件的調查使我相信該解決方案可能不是跨平臺的。我在Red Hat Linux中運行這個腳本。另外,我正在通過PuTTY訪問和執行腳本。

任何幫助將不勝感激。

謝謝。

+0

在linux中,你可以使用curses ...但它不會是超級跨平臺,你將需要改變你的代碼很多 –

回答

1

這實際上很容易以跨平臺的方式來完成。

您應該可以通過啓動一個線程來處理用戶輸入,並監視線程和主循環中的時間。

一些相關要點:

  • 的線程模塊的文檔可以發現here

您的代碼

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

應該從孩子的線程中運行。

  • 對於您需要的分辨率,您可以通過time module來監控時間。
相關問題