将变量从 Jupyter 笔记本传递到 python 脚本

Pass variable from Jupyter notebook to python script

提问人:edge-case 提问时间:6/10/2017 更新时间:6/10/2017 访问量:3169

问:

我想在 Jupyter 笔记本中定义一个变量,然后将其传递给 python 脚本。

例如,在笔记本中:

a = [1, 2, 3, 4]

%run example.py
print foo

在 example.py

b = [5, 8, 9, 10]
foo = a + b

当然,这会返回错误,因为尚未在 example.py 中定义。但是,如果 example.py 有a

a = [1, 2, 3, 4]
b = [5, 8, 9, 10]
foo = a + b

然后,Jupyter 笔记本可以在脚本运行后“看到”foo 并打印它,即使 Jupyter 笔记本本身未定义 foo。

为什么 python 脚本看不到 Jupyter 笔记本环境中的变量?如何将变量从笔记本环境传递到脚本?

python jupyter-notebook

评论


答:

1赞 Aseem Bansal 6/10/2017 #1

python 脚本无法看到 jupyter notebook 环境中的变量,因为它们是不同的程序。当您使用 magic 命令时,它会作为单独的程序运行。如果要将变量传递给方法,则可以选择将其转换为函数。说添加

def add(a):
  b = [5, 8, 9, 10]
  foo = a + b

然后在 Jupyter 中,您可以执行此操作

from example import add
add(a)

您必须将它们带入同一个程序。否则,您可以传递参数并在脚本中使用 .但我不认为你想这样做,因为你希望他们看到对方。argv