Python等待x秒钟等待键,如果未按则继续执行

发布于 2021-01-29 17:37:31

我是python的n00b用户,并且正在查找执行以下操作的代码段/示例:

  • 显示类似“按任意键进行配置或等待X秒继续”的消息
  • 例如,等待5秒钟,然后继续执行,或者如果按下某个键,则输入configure()子例程。

感谢您的帮助!

伊万·詹森斯(Yvan Janssens)

关注者
0
被浏览
164
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果您使用的是Unix /
    Linux,那么select模块将为您提供帮助。

    import sys
    from select import select
    
    print "Press any key to configure or wait 5 seconds..."
    timeout = 5
    rlist, wlist, xlist = select([sys.stdin], [], [], timeout)
    
    if rlist:
        print "Config selected..."
    else:
        print "Timed out..."
    

    如果您使用的是Windows,请查看msvcrt模块。(请注意,这在IDLE中不起作用,但在cmd提示符下将起作用)

    import sys, time, msvcrt
    
    timeout = 5
    startTime = time.time()
    inp = None
    
    print "Press any key to configure or wait 5 seconds... "
    while True:
        if msvcrt.kbhit():
            inp = msvcrt.getch()
            break
        elif time.time() - startTime > timeout:
            break
    
    if inp:
        print "Config selected..."
    else:
        print "Timed out..."
    

    编辑 更改了代码示例,因此您可以判断是超时还是按键…



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看