4

蟒蛇 2.73

CTRL为什么当我点击+时它在我的笔记本电脑上C,我可以退出解释器,而在我的桌面上点击CTRL+C会使解释器向我回击 KeyboardInterrupt 消息。我怎样才能摆脱这个 KeyboardInterrupt 并返回退出CTRL+ C

在我的桌面上,需要输入CTRL+Z并按回车键退出。

我在两台计算机上都使用 PowerShell。一样的64位,一个是Win7 一个是Win8

4

2 回答 2

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

于 2013-12-18T09:56:10.303 回答
1

先前答案的稍短版本:

import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)

SIG_DFL表示默认信号处理,因此 Python 不会捕获它来引发KeyboardInterrupt异常。

于 2015-05-06T13:40:58.590 回答