在Python中捕获Control-C
我想知道在Python中,是否可以用以下方式捕捉到Control-C的操作:
if input != contr-c:
#DO THINGS
else:
#quit
我查了一些关于try
和except KeyboardInterrupt
的资料,但对我来说这些方法都不奏效。
3 个回答
0
如上所述,标准的做法是捕捉到 KeyboardInterrupt
。我想补充一点,就是在这种情况下你可能不应该用零作为退出代码,因为你并没有完成处理。老实说,大多数调用者只关心你返回的是零还是非零,但在这种情况下,我会用 sys.exit(130)
,这大致意味着“因为我收到了一个中断信号,所以失败了”。
17
根据你的评论,听起来你唯一的问题是对except KeyboardInterrupt:
不太了解,特别是当你收到这个中断时,怎么让程序退出。
如果是这样,那其实很简单:
import sys
try:
user_input = input()
except KeyboardInterrupt:
sys.exit(0)