首頁 > 後端開發 > Python教學 > 如何為 Python 的 `raw_input` 函數設定時間限制?

如何為 Python 的 `raw_input` 函數設定時間限制?

DDD
發布: 2024-11-15 11:57:02
原創
344 人瀏覽過

How Can I Set a Time Limit on Python's `raw_input` Function?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板