用Python捕获Control-C

时间:2013-03-10 02:22:36

标签: python error-handling keyboard-events

我想知道是否可以通过以下方式在python中捕获Control-C:

 if input != contr-c:
    #DO THINGS
 else:
    #quit

我已经阅读了tryexcept KeyboardInterrupt的内容,但它们并不适用于我。

2 个答案:

答案 0 :(得分:44)

考虑阅读有关处理异常的this页面。它应该有所帮助。

正如@abarnert所说,在sys.exit()之后except KeyboardInterrupt:

这样的东西
try:
    # DO THINGS
except KeyboardInterrupt:
    # quit
    sys.exit()

您还可以使用内置的exit()功能,但正如@eryksun指出的那样,sys.exit更可靠。

答案 1 :(得分:10)

从您的评论中,except KeyboardInterrupt:的唯一问题就是您不知道如何在中断时退出。

如果是这样,那很简单:

import sys

try:
    user_input = input()
except KeyboardInterrupt:
    sys.exit(0)