我非常喜欢 IPython,因为它可以与 python 解释器一起使用。然而,我不断发现自己输入
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 ''")
>>> 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
%exit
,或 %Exit
,如果您启用了确认并想跳过它。
您可以将其别名为例如%e
将 execute __IPYTHON__.magic_e = __IPYTHON__.magic_exit
放入您的 ipythonrc 中。
使用 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
$
至少在 IPython 0.10 中,你应该能够设置 IPYTHON.rc.confirm_exit = False
在 Linux 上,我发现自己经常使用 ctrl-d 退出每种类型的 REPL 界面,包括 ipython。几乎总是需要输入退出/注销。
退出IPython有4种方式:
按 CTRL + |。
按 CTRL + D,然后输入
y
或 yes
。 *系统会询问您是否真的要退出。
输入
quit
或quit()
,然后ENTER。
输入
exit
或exit()
,然后ENTER。