加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

将ipython输出自动化为pdf

发布时间:2020-12-16 23:40:29 所属栏目:Python 来源:网络整理
导读:我有一个小程序,基本上做各种统计计算,打印出结果和图表. 目前,一个方便的方法来获得我的程序的一个很好的pdf输出是使用魔术命令%matplotlib inline在Jupyter IPython Notebook中运行我的代码,并通过“PDF via LaTex(.pdf)”保存为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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读