Выход из ipython
Мне нравится 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 ''")
Ответы
Ответ 1
>>> import sys
>>> class Quitter(object):
... def __repr__(self):
... sys.exit()
...
>>> exit = Quitter()
Вы можете использовать его следующим образом:
>>> exit
EDIT:
Я не использую ipython
сам, но, похоже, имеет некоторый wierd sys.exit
обработчик.
Решение, которое я нашел, выглядит следующим образом:
In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''
Использование:
In [2]: exit
Ответ 2
%exit
или %exit
, если у вас есть подтверждение, и вы хотите пропустить его.
Вы можете использовать его, например, %e
, поместив execute __IPYTHON__.magic_e = __IPYTHON__.magic_exit
в ваш ipythonrc.
Ответ 3
С 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
$
Ответ 4
По крайней мере, в IPython 0.10 вы должны установить IPYTHON.rc.confirm_exit = False
Ответ 5
В Linux я постоянно использую ctrl-d для выхода из любого интерфейса REPL, включая ipython. Почти всегда нужно вводить/выходить из системы.