如何在Python 中實現使用者輸入的時間限制
在使用raw_input() 函數時,您可能會遇到您想要的情況在預先定義的持續時間後終止輸入。幸運的是,Python 提供了多種解決方案來滿足此要求。
Unix 專用方法:
@jer 的建議利用 signal.alarm 函數,該函數僅在 Unix 上可用系統。當達到指定的逾時時,此函數將引發 KeyboardInterrupt 異常。以下程式碼舉例說明了此方法:
跨平台和特定於Windows 的方法:
對於跨平台或特定於Windows 的解決方案,請考慮使用threading.Timer 類別以及thread.interrupt_main。此方法從計時器線程向主線程發送鍵盤中斷。下面的程式碼說明了此方法:
Windows 特定方法(未經測試):
在 Windows 環境中,可以使用 msvcrt 來實現逾時。此方法涉及在緊密循環內輪詢按鍵並累積輸入,直到達到最大時間或偵測到換行符。
可自訂行為:
如果需要 None 以外的超時回傳值,只需取代上述程式碼片段中的 return None 語句即可。此外,在每次按鍵後調整 finishat 可以根據輸入節奏調整逾時。
以上是如何在Python中實現使用者輸入的時間限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!