从另一个笔记本运行 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 笔记本的主要内容,如果未能解决你的问题,请参考以下文章

由于 Django 运行服务器,Jupyter 笔记本挂起

列出正在运行的 Jupyter 笔记本和令牌

没有运行python 3的Jupyter笔记本

当 Jupyter 笔记本在一个分支上运行时,如何安全地切换 Git 分支?

pip 安装了 google.colab,现在无法在 Jupyter 笔记本上运行代码

如何通过命令行检查 Jupyter 活动笔记本