将ipython输出自动化为pdf

前端之家收集整理的这篇文章主要介绍了将ipython输出自动化为pdf前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个小程序,基本上做各种统计计算,打印出结果和图表.

目前,一个方便的方法来获得我的程序的一个很好的pdf输出是使用魔术命令%matplotlib inline在Jupyter IPython Notebook中运行我的代码,并通过“PDF via LaTex(.pdf)”保存为pdf

但是,问题是我每次运行程序时都必须手动完成.另外,我无法将程序作为二进制可执行程序提供给其他人,这是我的最终目标.

有没有办法以编程方式执行此操作?为了清楚起见,我想要的只是以pdf格式输出我的程序,以便在运行可执行文件输出为pdf.我不希望最终用户创建ipython笔记本.最终用户无权访问源代码.

解决方法

截至目前,还没有一种编程语言API可以将笔记本转换为PDF.但是,存在一个名为 nbconvert的命令行实用程序.它具有与Web界面的格式转换器相同的功能.要转换为PDF,您可以使用jupyter nbconvert notebook.ipynb –to pdf.

幸运的是,Python有一个方便的subprocess module,它允许您生成新的进程,检查它们的输入和输出,并获得它们的返回代码.所以你可以这样做:

import subprocess
subprocess.call("jupyter nbconvert notebook.ipynb --to pdf")

一种hacky方式,但它会工作.如果您使用的是Windows,则可能需要将额外的kwarg shell = True添加到subprocess.call()

猜你在找的Python相关文章