使用原始輸入進行限時使用者輸入
在 Python 中,raw_input() 函數可用於提示使用者輸入。然而,在某些情況下,您可能希望限制使用者輸入的等待時間,以避免無限期地拖延程式。
使用線程定時器的解決方案
對於跨平台和特定於 Windows 的解決方案,您可以利用線程模組中的 threading.Timer。導入必要的模組:
import thread import threading
定義一個名為 raw_input_with_timeout 的函數:
def raw_input_with_timeout(prompt, timeout=30.0): print(prompt, end=' ') timer = threading.Timer(timeout, thread.interrupt_main) astring = None try: timer.start() astring = input(prompt) except KeyboardInterrupt: pass timer.cancel() return astring
此函數列印提示,啟動計時器,並使用 input 提示使用者輸入。如果使用者輸入的時間超過指定的逾時時間,計時器將中斷主線程,導致引發 KeyboardInterrupt 例外。定時器被取消,以防止進一步中斷。
如果輸入超時,將傳回 None。如果使用者在超時之前輸入,它將傳回輸入的字串。
注意:
以上是如何使用「raw_input()」在Python中實現限時使用者輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!