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中文网其他相关文章!