定時鍵盤輸入:快速解決方案
在程式設計領域,通常需要在規定時間的同時提示使用者輸入約束。當您需要控制使用者輸入回應的持續時間時,就會發生這種情況。但如何有效地實現這個目標?
超時輸入:重溫挑戰
一些實現超時鍵盤輸入的嘗試遇到了障礙。例如,http://mail.python.org/pipermail/python-list/2006-January/533215.html 引用的郵件線程建議了一個解決方案。然而,這些方法經常會遇到錯誤:「
解決方案:利用力量Select
雖然之前的方法看起來很有前途,但可以使用select找到更簡潔和可移植的解決方案call:
import sys, select print("You have ten seconds to answer!") i, o, e = select.select([sys.stdin], [], [], 10) if (i): print("You said", sys.stdin.readline().strip()) else: print("You said nothing!")
這段程式碼示範了一個聰明的解決方法。它檢查是否有輸入準備好而不實際讀取它。如果輸入在 10 秒逾時內可用,它將繼續讀取輸入並顯示它。如果沒有收到輸入,它會通知用戶他們沒有及時回應。
這種方法非常強大,可以跨不同平台移植,並提供了一種乾淨有效的方法來管理具有超時的鍵盤輸入。因此,下次您想要給使用者有限的時間來回應您的提示時,請考慮 select 呼叫的威力。
以上是如何在Python中實現定時鍵盤輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!