为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置RAW_INPUT的时间限制

如何设置RAW_INPUT的时间限制

九州编程 2019-07-02 11:11:30
如何设置RAW_INPUT的时间限制在python中,是否有一种方法在等待用户输入时计算时间,以便在30秒之后,raw_input()函数自动跳过?
查看完整描述

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

我找到了解决这个问题的办法在博客里..下面是博客文章中的代码:

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操作系统。.


查看完整回答
反对 回复 2019-07-02
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

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你会清楚地知道刚才在这个代码中发生了什么!


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 860 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信