猿问

如何设置RAW_INPUT的时间限制

如何设置RAW_INPUT的时间限制

在python中,是否有一种方法在等待用户输入时计算时间,以便在30秒之后,raw_input()函数自动跳过?



九州编程
浏览 861回答 3
3回答

慕桂英3389331

我找到了解决这个问题的办法在博客里..下面是博客文章中的代码:import signalclass AlarmException(Exception):     passdef alarmHandler(signum, frame):     raise AlarmExceptiondef nonBlockingRawInput(prompt='', timeout=20):     signal.signal(signal.SIGALRM, alarmHandler)     signal.alarm(timeout)     try:         text = raw_input(prompt)         signal.alarm(0)         return text    except AlarmException:         print '\nPrompt timeout. Continuing...'     signal.signal(signal.SIGALRM, signal.SIG_IGN)     return ''请注意:此代码仅适用于*nix操作系统。.

慕的地6264312

from threading import Timerdef input_with_timeout(x):    def time_up():     answer= None     print 'time up...'t = Timer(x,time_up) # x is amount of time in secondst.start()try:     answer = input("enter answer : ")except Exception:     print 'pass\n'     answer = Noneif answer != True:   # it means if variable have somthing      t.cancel()       # time_up will not execute(so, no skip)input_with_timeout(5) # try this for five seconds因为它是自我定义的.。在命令行提示符下运行它,我希望您能看到下面的答案Pythondoc你会清楚地知道刚才在这个代码中发生了什么!
随时随地看视频慕课网APP

相关分类

Python
我要回答