Скрытие вывода ячейки JupyterLab по умолчанию - PullRequest
0 голосов
/ 19 февраля 2020

Я использую JupyterLab для создания конвейера биоинформатики, который использует как скрипты bash, так и python. Результаты первого скрипта bash дают много отзывов на каждом этапе процесса. Однако этот отзыв бесполезен (если не было ошибки) и делает документ менее читабельным.

Я хотел бы иметь возможность скрыть вывод этой ячейки по умолчанию , но также и быть в состоянии открыть его при необходимости устранения неполадок. Я знаю, что можно щелкнуть 3 раза на выходе, чтобы свернуть его; Мне просто интересно, есть ли способ сделать это по умолчанию.

Я пытался добавить тег, указанный здесь (https://jupyterbook.org/features/hiding.html#Hiding -outputs ) в ячейку, но это делает не похоже на работу для меня.

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 19 февраля 2020

Возможно, вы просто захотите подавить вывод, используя %%capture волшебный элемент c, как показано здесь . Затем вы просто удаляете эту команду magi c из первой строки ячейки на время, когда вы хотите увидеть вывод, например, при устранении неполадок.

Если вы хотите, чтобы это происходило каждый раз при запуске ячейки Позже вы можете рассмотреть, что было захвачено, вы можете использовать команду %%capture magi c, как и предполагалось. Назначая снимки, вы также можете сделать что-то вроде того, что %%bash cell magi c позволяет обрабатывать выходные потоки (см. здесь ). Как описано и показано здесь , используя объект utils, вы можете легко получить stdout и / или stderr в виде строки, см. http://ipython.readthedocs.io/en/stable/api/generated/IPython.utils.capture.html.

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

%%capture out

Поток stdout можно просмотреть позже с помощью следующего:

print(out.stdout)

Или, если вы просто хотите его часть, что-то вроде print(out.stdout[1:500]). У меня есть некоторые более изящные способы обработки, показанные в некоторых блоках кода здесь .

...