Печатать на консольном терминале не на выходе ячеек IPython Notebook

Я хотел бы напечатать в окне терминала, в котором работает IPython Notebook, а не на выходе ячейки. Печать на выходе ячеек потребляет больше памяти и замедляет мою систему, когда я выдаю значительное количество вызовов print. По сути, я хотел бы это по дизайну.

Я пробовал следующее:

  • Я пробовал разные перестановки вызовов print и sys.stdout.write
  • Я посмотрел документацию IPaton Notebook здесь, здесь и здесь без помощи
  • Я попытался использовать этот как обходной путь, но, похоже, работает только на Python 2.7

Ответ 1

Вы должны перенаправить свой вывод на системное устройство вывода. Это зависит от вашей ОС. На Mac это будет:

import sys
sys.stdout = open('/dev/stdout', 'w')

Введите вышеуказанный код в ячейку IPython и оцените его. После этого весь вывод будет отображаться в терминале.

Ответ 2

В Windows это может работать:

import sys
sys.stdout = open(1, 'w')