выход из ipython - PullRequest
       10

выход из ipython

13 голосов
/ 06 октября 2009

Мне очень нравится 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 ''") 

Ответы [ 4 ]

12 голосов
/ 07 октября 2009
>>> import sys
>>> class Quitter(object):
...     def __repr__(self):
...         sys.exit()
... 
>>> exit = Quitter()

Вы можете использовать это так:

>>> exit

EDIT:

Я не использую ipython сам, но, похоже, есть какой-то странный обработчик sys.exit. Решение, которое я нашел, выглядит следующим образом:

In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''

Использование:

In [2]: exit
3 голосов
/ 06 октября 2009

%exit или %Exit, если у вас включено подтверждение и вы хотите его пропустить. Вы можете использовать псевдоним, например, %e, поместив execute __IPYTHON__.magic_e = __IPYTHON__.magic_exit в ваш ipythonrc.

1 голос
/ 27 апреля 2018

В 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
$ 
0 голосов
/ 23 декабря 2010

По крайней мере, в IPython 0.10 вы должны иметь возможность установить IPYTHON .rc.confirm_exit = False

...