【发布时间】:2016-10-21 18:30:55
【问题描述】:
这个问题以前一定有人问过,但我找不到正确的答案。我想从命令行运行 Jupyter 笔记本并将结果保存到某些文件中。
我已经开始运行了,
jupyter nbconvert --to python --execute mynotebook.ipynb >> mylog.out.log 2>&1
该命令正确执行了mynotebook.ipynb,但在日志文件中,如果执行成功则只包含3行。
[NbConvertApp] Converting notebook mynotebook.ipynb to python
[NbConvertApp] Executing notebook with kernel: python2
[NbConvertApp] Writing 1931 bytes to mynotebook.ipynb.py
如果笔记本出现异常,它也会在日志文件中显示异常。但是我在哪里可以看到 notebook 的结果呢?
例如,在我的笔记本中,我有
print 'hello world'
此输出未显示在我的命令行界面或日志文件中。是否有一种方法或参数设置可以将输出保存到日志文件中?我想看看 mynotebook.ipynb 的详细结果。
有什么想法吗?或任何其他比 jupyter nbconvert 更好的方法?
另外,是否可以将日期时间包含在日志文件中?把时间包括在内会很有帮助。
【问题讨论】:
-
你试过没有“--to python”吗?
-
@nitind 是的,我做到了。如果没有'--to python',执行会将ipynb转换为html文件(我相信html是默认的)。
-
--execute的输出进入笔记本。但是如果将其转换为.py脚本文件,则不包括输出,因此它刚刚生成的输出将再次被丢弃。转换为 html 或 notebook 等格式将包含输出。我认为没有将输出发送到标准输出的选项,但是如果您查看代码,应该不难将一些东西组合在一起。 -
@ThomasK 谢谢。你说的对。我尝试了标准输出到 python,但没有输出。如果我使用 html 或笔记本,如果将包含输出。即使整个输出文件将包含转换后的代码而不是纯结果,它现在对我有用。谢谢。