Python 中 raw_input 的時間限制
raw_input 是一個用於等待使用者輸入的 Python 函數。它沒有提供指定時間限制的方法,這在某些情況下可能是理想的。
解決方案
要對raw_input 設定時間限制,一種方法是使用signal.alarm 函數,該函數會在指定時間到期後向進程發送SIGALRM訊號.以下是一個程式碼片段:
import signal def alarm_handler(signum, frame): raise KeyboardInterrupt def raw_input_with_timeout(prompt, timeout): signal.alarm(timeout) try: return input(prompt) except KeyboardInterrupt: return None finally: signal.alarm(0) # cancel the alarm
此程式碼安裝一個警報處理程序,在達到時間限制時引發 KeyboardInterrupt 異常,從而有效地跳過 raw_input 函數。
或者,對於交叉平台或 Windows 特定的解決方案,可以使用 threading.Timer 或 Windows 中的 poll msvcrt.kbhit 來實現類似的功能。
以上是如何為 Python 的 `raw_input` 函數設定時間限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!