关于错误处理:Python中的Capture Control-C

Capture Control-C in Python

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

1
2
3
4
 if input != contr-c:
    #DO THINGS
 else:
    #quit

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


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

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

就像是

1
2
3
4
5
try:
    # DO THINGS
except KeyboardInterrupt:
    # quit
    sys.exit()

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


根据你的评论,听起来你唯一的问题是except KeyboardInterrupt:是你不知道如何在你得到那个中断时让它退出。

如果是这样,那很简单:

1
2
3
4
5
6
import sys

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