退出ipython

时间:2009-10-06 19:45:21

标签: python interpreter ipython

我非常喜欢使用python解释器的IPython。但是,我不断发现自己键入exit退出,并收到提示“键入exit()退出。”

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

更新:感谢nosklo,可以通过将以下行添加到ipy_user_conf.py中的main()函数来轻松完成此操作:

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

5 个答案:

答案 0 :(得分:12)

>>> import sys
>>> class Quitter(object):
...     def __repr__(self):
...         sys.exit()
... 
>>> exit = Quitter()

你可以像这样使用它:

>>> exit

修改

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

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

用法:

In [2]: exit

答案 1 :(得分:3)

%exit%Exit,如果您已启用确认并想跳过它。 您可以将其别名为例如%eexecute __IPYTHON__.magic_e = __IPYTHON__.magic_exit放入您的ipythonrc。

答案 2 :(得分:1)

使用iPython 6.2.1,您只需输入exit即可退出解释器:

$ ipython
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: exit
$ 

答案 3 :(得分:0)

至少在IPython 0.10中,你应该可以设置 IPYTHON .rc.confirm_exit = False

答案 4 :(得分:0)

在Linux上,我发现自己一直在使用ctrl-d退出每种类型的REPL接口,包括ipython。几乎总是需要键入exit / logout。