退出ipython

Jas*_*ram 14 python interpreter ipython

我喜欢使用python解释器的IPython.但是,我不断发现自己打字exit退出,并收到提示"键入exit()退出."

我知道我可以输入Ctrl-D退出,但有没有一种方法可以在exit没有括号的情况下输入并让IPython退出?

更新:感谢nosklo,可以通过在以下内容的main()函数中添加以下行来轻松完成ipy_user_conf.py:

# type exit to exit
ip.ex("type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''") 
Run Code Online (Sandbox Code Playgroud)

nos*_*klo 13

>>> import sys
>>> class Quitter(object):
...     def __repr__(self):
...         sys.exit()
... 
>>> exit = Quitter()
Run Code Online (Sandbox Code Playgroud)

你可以像这样使用它:

>>> exit
Run Code Online (Sandbox Code Playgroud)

编辑:

我不使用ipython自己,但似乎有一些奇怪的sys.exit处理程序.我找到的解决方案如下:

In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''
Run Code Online (Sandbox Code Playgroud)

用法:

In [2]: exit
Run Code Online (Sandbox Code Playgroud)


Cat*_*lus 5

%exit,或者%Exit,如果您启用了确认并想跳过它。您可以%e通过放入execute __IPYTHON__.magic_e = __IPYTHON__.magic_exitipythonrc将其别名为例如。

  • `%exit` 或 `%Exit` 是 IPython 1.1.0 版下的无行魔法函数。所以使用 IPython 1.1.0 这个答案对我根本不起作用。 (2认同)