Поскольку формат записной книжки - JSON, относительно просто извлечь текстовое содержимое только из ячеек кода.Задача становится еще проще, если вы используете Python API для работы с файлами записной книжки .
. Ниже приведен код стандартного вывода.Вы можете справиться с этим другими способами так же легко.Имейте в виду, что в исходном коде может отсутствовать завершающий символ новой строки.
from nbformat import read, NO_CONVERT
with open("Some Notebook.ipynb") as fp:
notebook = read(fp, NO_CONVERT)
cells = notebook['cells']
code_cells = [c for c in cells if c['cell_type'] == 'code']
for cell in code_cells:
print(cell['source'])
Тем не менее узлы ноутбуков немного более гибкие, чем словари, и позволяют атрибуту (.name
) доступ к полям, а также к подписке (*)1009 *).Как человек, испытывающий трудности при наборе текста, я предпочитаю писать
cells = notebook.cells
code_cells = [c for c in cells if c.cell_type == 'code']
for cell in code_cells:
print(cell.source)
. Отвечая на этот вопрос, я узнал, что библиотека nbformat
разобрана и, следовательно, может быть установлена с pip
без остальныхЮпитера.