15

我非常喜欢 IPython 与 python 解释器一起工作。但是,我不断发现自己在输入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 ''") 
4

5 回答 5

15
>>> 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
于 2009-10-06T20:48:33.330 回答
5

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

于 2009-10-06T19:49:54.830 回答
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
$ 
于 2018-04-27T02:06:47.077 回答
0

至少在 IPython 0.10 中,您应该能够设置IPYTHON .rc.confirm_exit = False

于 2010-12-23T02:17:58.787 回答
0

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

于 2019-10-16T10:03:33.593 回答