当前位置: 首页 > 面试题库 >

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

何华灿
2023-03-14
问题内容

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

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

感谢您的帮助!

伊万·詹森斯(Yvan Janssens)


问题答案:

如果您使用的是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..."

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



 类似资料:
  • 问题内容: 我试过了: 但这似乎不起作用。我希望程序等待用户输入,但是如果10分钟后没有用户输入,请继续执行该程序。 这是python 3。 问题答案: 为什么代码不起作用? 什么也不返回;成为的价值; 循环体未执行。 如何解决 如果您使用的是Unix,则可以使用。 否则,您应该使用线程。 Windows 使用的 特定解决方案:

  • 给出一些关于我正在尝试做的细节:我正在用Java制作一个Minecraft插件。我有一个对象,它使用HashMap绑定到Minecraft的Player对象。 我在这个对象中有一个方法,类似于: 显然,会有很多事情发生,所以我希望这是异步发生的。计时器将在后台继续,它不会阻止代码中的任何其他内容。 对不起,如果我的问题太简单了,但我真的检查了网络和我是新的Java,所以原谅我的无知。

  • 问题内容: 在 puppeteer中, 我想等待定义的时间后再转到下一行代码。 我尝试将a 放入评估函数中,但似乎只是被忽略了 此代码不等待,仅 在等待之前 和 之后 编写 __ 你知道怎么做吗? 问题答案: 您可以使用一点承诺功能, 然后,在需要延迟的任何时候调用它。 如果必须使用操纵符,请使用内置的waitFor函数。 如果仍然要使用page.evaluate,请在4​​秒钟后解决。您没有解决

  • 下面的函数不能像我希望的那样工作;作为一个JS新手,我不明白为什么。 我需要它等待5秒钟,然后检查是否为。 目前,它不等待,只是立即检查。

  • 问题内容: 我希望脚本等待用户按下任何键。 我怎么做? 问题答案: 在 Python 3中 使用: 在 Python 2中 使用: 不过,这仅等待用户按下Enter键。 可能要使用 msvcrt ((仅Windows / DOS)使用 msvcrt 模块可以访问Microsoft Visual C / C ++运行时库(MSVCRT)中的许多功能): 这应该等待按键。 附加信息: Python 3

  • 问题内容: 我正在使用Ubuntu 16.04 问题答案: 我遇到了这个问题,终于找到了答案。我一直在使用Marionette驱动程序,该驱动程序不再适用于FF版本53和Selenium 3.5或更高版本。该GeckoDriver文档显示系统属性应该如何引用。 我从以下位置更改了代码: 至: 现在我的本地Firefox运行正常。 希望这对其他人有帮助。