从另一台笔记本运行Jupyter笔记本

Val*_*ski 15 python return jupyter-notebook

我想知道是否可以从另一个*.ipynb文件运行*.ipynb文件并获取返回值.我知道我们可以像这样运行:

%run ./called_notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

called_notebook包含:

def foo():
    print(1)
    return 2
foo()
Run Code Online (Sandbox Code Playgroud)

但它只打印"1"而没有让我有机会处理返回的值.它甚至可能吗?是否存在以下类型的代码:

a = %run ./called_notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

谢谢 !

Mat*_*att 19

我建议foo从新笔记本上运行该功能.换一种说法:

%run ./called_notebook.ipynb
foo()
Run Code Online (Sandbox Code Playgroud)

在我看来,这是使用%runmagic命令的最佳实践.将高级API存储在单独的笔记本中(例如foo),但要在主笔记本中显示您的函数调用.

  • 注意,它甚至可以在if语句中,例如:if if_to_run():%run ... (2认同)
  • 甜的!一个问题/评论...名为_notebook 运行,并且所有打印/显示/等。显示命令,但通常显示的单元格末尾的任何结果都不会如此。 (2认同)