从另一个笔记本运行 Jupyter 笔记本
Posted
技术标签:
【中文标题】从另一个笔记本运行 Jupyter 笔记本【英文标题】:Running a Jupyter notebook from another notebook 【发布时间】:2018-09-23 20:06:34 【问题描述】:我想知道是否可以从另一个 *.ipynb 文件运行 *.ipynb 文件并获得返回值。 我知道我们可以这样运行:
%run ./called_notebook.ipynb
被调用的笔记本包含:
def foo():
print(1)
return 2
foo()
但它只打印“1”而没有让我有机会处理返回的值。甚至可能吗?是否存在以下类型的代码:
a = %run ./called_notebook.ipynb
?
谢谢!
【问题讨论】:
【参考方案1】:我建议从新笔记本运行 foo
函数。换句话说:
%run ./called_notebook.ipynb
foo()
在我看来,这是使用 %run
魔法命令的最佳实践。将您的高级 API 存储在单独的笔记本中(例如 foo
),但保持您的函数调用在主笔记本中可见。
【讨论】:
请注意,它甚至可以在if
语句中,例如:if need_to_run(): %run ...
如果该笔记本在全局范围内定义了一些巨大的对象,是否会在您每次使用 run 命令时重新实例化该对象?
甜蜜!运行一个问题/备注...称为_notebook,所有打印/显示/等。命令显示,但单元格末尾的任何结果通常会显示,但不会如此。
如何从不同的笔记本运行一个笔记本的所有单元以上是关于从另一个笔记本运行 Jupyter 笔记本的主要内容,如果未能解决你的问题,请参考以下文章
当 Jupyter 笔记本在一个分支上运行时,如何安全地切换 Git 分支?