Python 2.73
当我点击 CTRL + C 时,为什么它在我的笔记本电脑上,我可以退出解释器并在我的桌面上点击 CTRL + < kbd> C 将使解释器向我发回KeyboardInterrupt消息。如何摆脱这个KeyboardInterrupt并返回退出 CTRL + C !
在我的桌面上,需要输入 CTRL + Z 并按Enter键退出。
我在两台计算机上都使用PowerShell。相同的64位,一个是Win7,一个是Win8
答案 0 :(得分:2)
您可以将 CTRL - C 的信号处理程序更改为退出解释器的内容:
import signal
import sys
signal.signal(signal.SIGINT, lambda number, frame: sys.exit())
您可以将该代码放在一个文件中,以便在交互式会话启动时自动运行,然后将环境变量PYTHONSTARTUP设置为该文件的名称:
http://docs.python.org/3/using/cmdline.html?highlight=startup#envvar-PYTHONSTARTUP
答案 1 :(得分:1)
上一个答案的略短版本:
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
SIG_DFL
表示默认信号处理,因此Python无法捕获它
提出KeyboardInterrupt
例外。