退出IPython
我非常喜欢使用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 ''")
5 个回答
2
在 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
$
5
你可以使用 %exit
或者 %Exit
来退出程序。如果你开启了确认退出的功能,还可以直接跳过确认步骤。
如果你觉得每次输入这些命令太麻烦,可以把它简化成 %e
,只需要在你的 ipythonrc 文件里加上 execute __IPYTHON__.magic_e = __IPYTHON__.magic_exit
这行代码就可以了。
16
>>> 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