Я решил половину проблемы, обновив IPython до версии 0.12-r1:
[I] dev-python/ipython
Available versions: 0.10 0.10.1 0.10.2 (~)0.12-r1 {doc emacs examples gnuplot matplotlib mongodb notebook qt4 readline (+)smp sqlite test wxwidgets}
Installed versions: 0.12-r1(11:47:58 AM 03/16/2012)(examples qt4 readline smp -doc -emacs -matplotlib -mongodb -notebook -sqlite -test -wxwidgets)
Homepage: http://ipython.org/
Description: Advanced interactive shell for Python
Обратите внимание на ...:
, вы увидите, что мне нужно всего лишь нажать Введите два раза: первый, чтобы создать новую строку, и второй, чтобы закрыть стандартный ввод и отобразить результаты:
$ ipython
Python 2.7.2 (default, Mar 7 2012, 21:18:58)
Type "copyright", "credits" or "license" for more information.
IPython 0.12 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: for i in range(2):
...: for j in range(2):
...: print i*j
...:
0
0
0
1
Что касается bpython, он должен перейти на строку без отступов, прежде чем показывать вывод. В целях тестирования, если я использую два вложенных цикла for
, я должен нажать Enter четыре раза:
>>> for i in range(2):
... for j in range(2):
... print i*j
...
...
...
0
0
0
1