一尘不染

无需尝试即可在Python中捕获键盘中断

python

Python中是否有某种方法可以捕获KeyboardInterrupt事件而不将所有代码放入try-except语句中?

如果用户按下**Ctrl** +,我想干净地退出而没有任何痕迹**C**


阅读 203

收藏
2021-01-20

共1个答案

一尘不染

是的,您可以使用模块signal安装中断处理程序,并使用threading.Event永远等待:

import signal
import sys
import time
import threading

def signal_handler(signal, frame):
    print('You pressed Ctrl+C!')
    sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
forever = threading.Event()
forever.wait()
2021-01-20