如何覆盖键盘中断? (Python) [英] How can I override the keyboard interrupt? (Python)

查看:74
本文介绍了如何覆盖键盘中断? (Python)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无论如何,当脚本运行时按下Ctrl+c时,我是否可以使脚本执行我的功能之一?

解决方案

看看信号处理程序. CTRL-C对应于 SIGINT (posix系统上的2号信号).

示例:

#!/usr/bin/env python
import signal
import sys
def signal_handler(signal, frame):
    print 'You pressed Ctrl+C - or killed me with -2'
    sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print 'Press Ctrl+C'
signal.pause()

Is there anyway I can make my script execute one of my functions when Ctrl+c is hit when the script is running?

解决方案

Take a look at signal handlers. CTRL-C corresponds to SIGINT (signal #2 on posix systems).

Example:

#!/usr/bin/env python
import signal
import sys
def signal_handler(signal, frame):
    print 'You pressed Ctrl+C - or killed me with -2'
    sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print 'Press Ctrl+C'
signal.pause()

这篇关于如何覆盖键盘中断? (Python)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆