2015-08-26 2 views
1

Я хотел бы оставить IPython ноутбук, выполняющий некоторые вычисления + показать некоторые визуальные эффекты.Сохранить программный ноутбук IPython изнутри самого себя?

Как только ноутбук IPython закончил, я хочу, чтобы последняя ячейка в ноутбуке IPython программно сохраняла ноутбук IPython. Затем я хочу скопировать ноутбук (со всем выходом) в другой каталог, чтобы вести запись результатов.

Копирующий бит Я могу легко скомпилировать код, но я не уверен, как получить IPython-ноутбук для программной экономии? Это возможно? Заранее спасибо!

+1

Сохранение производится из ноутбука веб-интерфейс, которым Ядро не знает об этом. Но вы можете сделать ячейку, которая [отображает Javascript] (http://ipython.readthedocs.org/en/stable/api/generated/IPython.display.html#IPython.display.Javascript), чтобы вызвать функцию сохранения frontend. –

+1

С IPython <4, вы могли бы сделать что-то вроде: 'от IPython.display дисплея импорта, Javascript дисплей (Javascript ('IPython.notebook.save_checkpoint();'))' – Taar

+0

@Taar, спасибо! Это был ответ, который я искал; согласился бы в качестве ответа, если бы это был ответ! – applecider

ответ

1

Команда ipython magic %notebook поможет вам здесь. Он показан на this page (поиск% ноутбука).

Чтобы сохранить текущую историю ноутбуков в файл «foo.ipynb» просто введите:

%notebook -e foo.ipynb 

На месте, где вы хотите, чтобы это произошло

+0

Помните, что это сохраняет вашу * историю * в качестве нового ноутбука. Если вы запустили ноутбук от начала до конца, не перезапуская какие-либо ячейки и запуская это в конце, это будет то, что вы ожидаете. Если вы повторно запускаете или переупорядочиваете какие-либо ячейки, это может не делать то, что вы хотите. –

+0

or1426, спасибо, но по какой-то причине я не получаю вывод в foo.ipynb, есть ли способ сделать это? – applecider

+0

Есть ли способ динамически добавить путь для сохранения? Например, '% notebook path_variable_from_runtime \ name.ipynb' – CodeCollector

Смежные вопросы