📅  最后修改于: 2023-12-03 15:09:09.443000             🧑  作者: Mango
在 Python 中,可以使用 break
关键字来中断循环。通常情况下,break
语句是在满足某个条件时执行的,但有时需要在收到特定的键时中断循环。 下面是如何指定一个键作为 break 功能的几种方法。
signal
模块signal 模块使您可以处理来自操作系统的信号,例如 SIGINT
(Ctrl-C)。 您可以使用 signal
模块来捕获这些信号,并在特定信号收到时终止程序的执行。
import signal
def handle_interrupt(signal, frame):
print('You pressed Ctrl+C!')
exit(0)
signal.signal(signal.SIGINT, handle_interrupt)
while True:
# your code here
在上面的代码中,我们定义了 handle_interrupt()
函数来处理 SIGINT
信号,然后注册了该函数以接收 SIGINT
信号。如果您想使用不同的信号,请替换 signal.SIGINT
。
keyboard
模块keyboard 模块是一个 Python 模块,它可以捕捉和记录用户按键,并发送 Windows 和 Linux 下的按键事件。
import keyboard
def on_esc():
print('You pressed the Esc key!')
exit(0)
keyboard.add_hotkey('esc', on_esc)
while True:
# your code here
在上面的代码中,我们定义了 on_esc()
函数来处理按下 esc
键事件,然后注册了该函数。如果您想使用不同的按键,则替换 'esc'
参数即可。
getch()
函数Python 中的 getch() 函数可用于获取键盘输入而无需等待 Enter
键。
import msvcrt
while True:
if msvcrt.kbhit():
key = ord(msvcrt.getch())
if key == 27: # ESC
print('You pressed the Esc key!')
break
在上面的代码中,我们定义了一个无限循环,并使用 msvcrt.kbhit()
函数检查是否按下任何键。 如果按下键,则 msvcrt.getch()
函数获取按键的 ASCII 码,并将其存储在 key
变量中。 如果按下 Esc
键,则使用 break
关键字退出循环。
现在您知道如何指定一个键作为一个 break function,您可以在需要时使用上面的代码片段。