IPython (Jupyter) 细胞魔法和跨语言交互

IPython (Jupyter) cell magics and cross-language interaction

在正常的 ipython notebook 或 repl 会话中,我可以使用 _# 表示法引用以前的 运行 单元格。

然而,这在使用诸如 %%perl 或 %%bash 之类的单元格魔法时是不可能的,因为这些单元格在 _oh 中没有条目。我也找不到任何两种语言引用对方命名空间中的值的方法。

除了使用外部文件之外,有人知道在使用不同语言的单元格之间移动信息的方法吗?

我找到了一种涉及使用多个细胞魔法的方法。

%%capture perl_out
%%perl

将创建一个 CapturedIO 对象并允许 str(perl_out) 在 python 单元格中使用。 this gist.

中有一个更完整的示例