Как установить аргумент "--template toc2" через API nbconvert? - PullRequest
0 голосов
/ 07 мая 2020

У меня есть записная книжка Python jupyter, которую я могу успешно экспортировать в HTML с таблицей содержимого через командную строку:

$ jupyter nbconvert nb.ipynb --template toc2

Как мне это сделать то же самое, но программно (через API)?

Вот чего я до сих пор добился:

import os
import nbformat
from nbconvert import HTMLExporter
from nbconvert.preprocessors import ExecutePreprocessor

nb_path = './nb.ipynb'
with open(nb_path) as f:
    nb = nbformat.read(f, as_version=4)

ep = ExecutePreprocessor(kernel_name='python3')
ep.preprocess(nb)
exporter = HTMLExporter()
html, _ = exporter.from_notebook_node(nb)

output_html_file = f"./nb.html"
with open(output_html_file, "w") as f:
    f.write(html)
    f.close()
print(f"Result HTML file: {output_html_file}")

Он успешно экспортирует HTML; однако без содержания. Я не знаю, как установить --template toc2 через API.

1 Ответ

0 голосов
/ 09 июля 2020

Это не было ясно в документации, но конструктор класса TemplateExporter упоминает следующее:

template_file: str (необязательно, kw arg) Шаблон для использования при экспорте.

После тестирования я могу подтвердить, что все, что вам нужно сделать, это добавить путь к файлу шаблона в этом аргументе для экспортера.

HTMLExporter(template_file=path_to_template_file)
...