Как использовать Pipe в ipython

В терминале linux, когда вывод одной команды слишком длинный для чтения на одной странице, я могу сделать это:

cat file | less

чтобы я мог читать и прокручивать вверх и вниз вывод из файла "cat"

как я могу сделать это в ipython?

например: Я пробовал это, и он не работал:

whos | less

Моя оригинальная проблема заключается в том, что вывод от whos слишком много, чтобы его можно было увидеть, если сделать Shift + страницу вверх, и я не хочу менять буфер прокрутки

Спасибо

Ответы

Ответ 1

В IPython вы можете использовать %page obj для отображения объекта obj с помощью стандартного пейджера (обычно less). Кроме того, вы можете увеличить буфер прокрутки вашего терминала, что может быть удобно в любом случае.

%page obj - отображать объект, аналогичный отображению по умолчанию IPython (по-разному), используя пейджер, если требуется размер вывода

%page -r obj - отображать объект, похожий на печать, используя пейджер, если требуется размер

%page может принимать только простую ссылку на имя или атрибут. Он не может оценить произвольное выражение, но вы можете использовать временную переменную, чтобы обойти это ограничениеL

tmp = ex * pr + ess - ion
%page tmp

Ответ 2

Использование пейджера должно быть автоматическим.

Из руководства :

Чтобы настроить меньшее значение как ваш пейджер по умолчанию, выполните следующие действия:

  • Задайте переменную PAGER среды меньше.
  • Установите переменную среды LESS в значение -r (плюс любые другие параметры, которые вы всегда хотите передать меньше по умолчанию). Это говорит о том, что для правильной интерпретации контрольных последовательностей это меньше, поэтому информация о цвете передается вашему терминалу.

Для оболочки bash добавьте в файл ~/.bashrc строки:

export PAGER=less
export LESS=-r

Ответ 3

Доступ к системной оболочке

Любая строка ввода, начинающаяся с символа! символ передается дословно (минус, конечно,), в базовую операционную систему. Например, typing! Ls будет запускать 'ls в текущем каталоге.

Источник: http://ipython.scipy.org/doc/rel-0.9.1/html/interactive/reference.html#id1