首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用本机Python将木星笔记本转换为html输出

用本机Python将木星笔记本转换为html输出
EN

Stack Overflow用户
提问于 2020-12-30 04:26:07
回答 1查看 1.6K关注 0票数 1

我知道我可以打电话

代码语言:javascript
运行
复制
jupyter nbconvert --execute --to html notebook.ipynb

从shell执行系统调用,或者从Python执行系统调用:

代码语言:javascript
运行
复制
import os
os.system('jupyter nbconvert --execute --to html notebook.ipynb')

但是,当nbconvert模块在本地Python中可用时,必须使用系统调用来完成这一任务似乎非常奇怪!

我想编写原生python来执行iPython笔记本并将其转换为html文件。我稍微研究了一下正式文件,但不能把东西拼凑在一起。我的问题是:

  1. 在本机Python中是否有将笔记本转换为html的示例?
  2. 有什么令人信服的理由不去做吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 05:33:44

好吧,经过一些尝试和错误之后,我发现:

代码语言:javascript
运行
复制
import nbformat
from nbconvert.preprocessors import ExecutePreprocessor
from nbconvert import HTMLExporter

# read source notebook
with open('report.ipynb') as f:
    nb = nbformat.read(f, as_version=4)

# execute notebook
ep = ExecutePreprocessor(timeout=-1, kernel_name='python3')
ep.preprocess(nb)

# export to html
html_exporter = HTMLExporter()
html_exporter.exclude_input = True
html_data, resources = html_exporter.from_notebook_node(nb)

# write to output file
with open("notebook.html", "w") as f:
    f.write(html_data)

诚然,与单个os.system调用相比,工作要多得多,但我感到惊讶的是,有这么少的本地python例子……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65502005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档