Как использовать 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