Python 3.x 如何在键盘中断时中断一段时间?
如果我按了一个键,我怎样才能断开一个while True?如果可能,如果我按了一个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() 在等待答
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,我正在重新阅读我的问题,我看到你发表了这篇评论,但你没有提出问题。你可以把它当作一个答案贴出来,我用过了,它很管用。你可能需要一个外部库来完成这个。