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

发布于 2021-01-29 14:57:40

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

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

关注者
0
被浏览
74
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    是的,您可以使用模块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()
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看