Python 3.x 如何在键盘中断时中断一段时间?

Python 3.x 如何在键盘中断时中断一段时间?,python-3.x,while-loop,Python 3.x,While Loop,如果我按了一个键,我怎样才能断开一个while True?如果可能,如果我按了一个x键(例如intro),我怎样才能断开一个while True 我试过输入,但你不能输入: while True: i = input() or None if program wait > 3 seconds. # > = more than if != None: print("STOP") break do_something() 在等待答

如果我按了一个键,我怎样才能断开一个while True?如果可能,如果我按了一个x键(例如
intro
),我怎样才能断开一个while True

我试过输入,但你不能输入:

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键时停止,而不会使用其他键。

这只适用于Windows:

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

提供过程关键输入的功能列表
msvcrt.kbhit()

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

提供过程关键输入的功能列表
msvcrt.kbhit()
检查一个键是否被按下,它是否正在等待读取,并基于此返回true或false。

对于Windows控制台,您可以使用
msvcrt.kbhit()
检查按键是否被按下。这只是一种安慰;它在诸如空闲shell之类的GUI程序中不起作用。@eryksun,我正在重新阅读我的问题,我看到你发表了这篇评论,但你没有提出问题。您可以将其作为答案发布,我使用了它,它起了作用。您可能需要一个外部库来完成此操作。对于Windows控制台,您可以使用
msvcrt.kbhit()
来检查是否按了键。这只是一种安慰;它在诸如空闲shell之类的GUI程序中不起作用。@eryksun,我正在重新阅读我的问题,我看到你发表了这篇评论,但你没有提出问题。你可以把它当作一个答案贴出来,我用过了,它很管用。你可能需要一个外部库来完成这个。