从ipython退出

从ipython退出,python,interpreter,ipython,Python,Interpreter,Ipython,我非常喜欢IPython使用python解释器。然而,我不断地发现自己键入exit退出,并得到提示“键入exit()退出” 我知道我可以键入Ctrl-D退出,但有没有一种方法可以键入exit,而不使用括号,然后让IPython退出 更新:多亏了,在ipy_user_conf.py中的main()函数中添加以下行可以轻松完成此操作: # type exit to exit ip.ex("type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_n

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

我知道我可以键入Ctrl-D退出,但有没有一种方法可以键入
exit
,而不使用括号,然后让IPython退出

更新:多亏了,在
ipy_user_conf.py
中的main()函数中添加以下行可以轻松完成此操作:

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

%exit
,或
%exit
,如果您已启用确认功能并希望跳过它。 您可以将其别名为,例如,
%e
,方法是将
execute\uuuuuuiython\uuuuu.magic\u e=\uuuuuuuuuiython\uuuuuuuu.magic\u退出

>>> import sys
>>> class Quitter(object):
...     def __repr__(self):
...         sys.exit()
... 
>>> exit = Quitter()
您可以这样使用它:

>>> exit
编辑:

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

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

In [2]: exit

至少在IPython 0.10中,您应该能够设置IPython.rc.confirm\u exit=False

使用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
$ 

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

谢谢,但我真的想按字面意思键入“退出”。因为它卡在肌肉记忆中。
%exit
%exit
在IPython 1.1.0版下没有行魔术功能。所以使用IPython 1.1.0这个答案对我根本不起作用。@halloleo我的心为你流血,因为5年前的答案不再相关
exit
在最近的IPython版本上适用OOB,而整个问题是不必要的。这对IPython不太适用。它有自己的Quitter类,该类在实际的IPShell实例上调用适当的exit方法。罗伯特·克恩:好的,找到了一个
ipython
解决方案。我也有你使用“退出”的问题,因为我有同样的肌肉记忆。对于刚接触IPython(或寻找更快的方法)的人来说,两次点击-D会更快。不要点击它三次,否则你也会从(linux)shell中注销。