无需尝试即可在Python中捕获键盘中断 [英] Capture keyboardinterrupt in Python without try-except
本文介绍了无需尝试即可在Python中捕获键盘中断的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Python中是否有某种方法可以捕获KeyboardInterrupt
事件而不将所有代码放入try
-except
语句中?
Is there some way in Python to capture KeyboardInterrupt
event without putting all the code inside a try
-except
statement?
如果用户按下 Ctrl + C ,我想干净地退出而没有任何痕迹.
I want to cleanly exit without trace if user presses Ctrl+C.
推荐答案
是的,您可以使用模块信号,并使用 threading.Event :
Yes, you can install an interrupt handler using the module signal, and wait forever using a 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()
这篇关于无需尝试即可在Python中捕获键盘中断的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文