I like IPython a lot for working with the python interpreter. However, I continually find myself typing exit
to exit, and get prompted "Type exit() to exit."
I know I can type Ctrl-D to exit, but is there a way I can type exit
without parentheses and get IPython to exit?
Update: Thanks to nosklo, this can be easily done by adding the following line to the main() function in your ipy_user_conf.py
:
# type exit to exit
ip.ex("type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''")
>>> import sys
>>> class Quitter(object):
... def __repr__(self):
... sys.exit()
...
>>> exit = Quitter()
You can use it like this:
>>> exit
EDIT:
I dont use ipython
myself, but it seems to have some wierd sys.exit
handler.
The solution I found is as follows:
In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''
Usage:
In [2]: exit