键盘中断如何打破一段时间呢?

时间:2017-04-21 02:52:52

标签: python-3.x while-loop

如果我按一个键,我怎么能打破一段时间呢?如果可能的话,如果按 x 键(例如intro,我怎么能打破一段时间? ?)。

while True:        
    if something is pressed:
        print("STOP")
        break
    do_something()

我尝试了输入,但你不能这样做:

while True:
    i = input() or None if program wait > 3 seconds. # > = more than
    if != None:
        print("STOP")
        break
    do_something()

输入在等待回答时停止,我不想要那样。
PD:我使用win 10 64位,python 32位3.6,终端。
PD2 :在发布此问题之前,我搜索了更多相关内容,我发现:

while True:
    try:
        do_something()
    except KeyboardInterrupt:
        pass

但这仅停留在Ctrl + c,而不是其他键。

1 个答案:

答案 0 :(得分:0)

这仅适用于Windows:

import msvcrt
while True:
    if msvcrt.kbhit():
        break

msvcrt提供了能够处理关键输入的函数列表。 msvcrt.kbhit()检查是否按下了某个键并且它正在等待读取并根据该值返回true或false。