Jas*_*ram 14 python interpreter ipython
我喜欢使用python解释器的IPython.但是,我不断发现自己打字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 ''")
Run Code Online (Sandbox Code Playgroud)
nos*_*klo 13
>>> import sys
>>> class Quitter(object):
... def __repr__(self):
... sys.exit()
...
>>> exit = Quitter()
Run Code Online (Sandbox Code Playgroud)
你可以像这样使用它:
>>> exit
Run Code Online (Sandbox Code Playgroud)
编辑:
我不使用ipython自己,但似乎有一些奇怪的sys.exit处理程序.我找到的解决方案如下:
In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''
Run Code Online (Sandbox Code Playgroud)
用法:
In [2]: exit
Run Code Online (Sandbox Code Playgroud)
%exit,或者%Exit,如果您启用了确认并想跳过它。您可以%e通过放入execute __IPYTHON__.magic_e = __IPYTHON__.magic_exitipythonrc将其别名为例如。