我有一个笔记本脚本,我运行在不同的数据集。每次运行时,我都希望将脚本(包括输出单元格)保存在数据文件夹中。
下面的命令放在我在jupyter中运行的脚本的末尾。我打算将屏幕上看到的内容保存到HTML文件中。
"here is my notebook script with inputs and ouput including graphs"
cmd='jupyter nbconvert --to html odnp_postprocessing.ipynb --output-dir '+dataFolder
os.system(cmd)但是,not转换不导出实际的单元格。第一次运行时,它只输出输入单元格,但如果重新运行,它将最终输出输入和输出。但是,如果我更改了脚本中的某些内容,它将始终导出第一个版本。然后,我发现的唯一方法是重新启动内核,并在修改后重新运行(两次)新脚本。
从根本上说,它看起来像是nbconvert导出某种缓冲区,而这种缓冲区并不一定是用户所看到的实际输入和输出单元。
我想要做的事情,这是编程保存我的笔记本(输入和输出)到HTML,每次我运行它。
是否有命令保存当前版本的笔记本?我试图添加%笔记本之前的nbconvert命令,但大量的老输入也保存了。
我知道我可以在nbconvert中运行笔记本,但是我想避免它,因为我已经在jupyter中手动运行了它。
有什么想法吗?
在Chrome浏览器中,我正在使用jupyter。
谢谢
发布于 2017-09-26 01:24:38
你没有告诉我们你是如何从当前的笔记本上运行nbconvert的?因此很难搞清楚事情的真相。
将当前文件转换为磁盘上的当前文件;粗略猜测:您还没有保存文件。如果您不保存您的文件,那么nbconvert很可能无法访问单元格的输出;当您第二次运行自动保存时,再次进行猜测。
记住:- Nbconvert不执行该文件
通常这样想:
如果您在笔记本的末尾使用此命令以另一种格式保存它,那么您要寻找的是救生钩,它将在每次保存笔记本时触发一些代码服务器端的代码。
附带注意,了解如何使用在IPython中运行shell命令;可以使用!在CWD中执行shell命令并进行变量插值。
https://stackoverflow.com/questions/46415269
复制相似问题