我非常喜欢使用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 ''")
答案 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
,如果您已启用确认并想跳过它。
您可以将其别名为例如%e
将execute __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。