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

时间:2017-06-10 12:55:53

标签: python jupyter-notebook

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

例如,在笔记本中:

a = [1, 2, 3, 4]

%run example.py
print foo

在example.py

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

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

a = [1, 2, 3, 4]
b = [5, 8, 9, 10]
foo = a + b
然后,Jupyter笔记本可以"看到"脚本运行后foo并打印出来,即使fup没有在Jupyter笔记本中定义。

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

1 个答案:

答案 0 :(得分:1)

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

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

然后在Jupyter你可以做到这一点

from example import add
add(a)

你必须把它们带到同一个程序中。否则,您可以使用argv传递参数并在脚本中解析它们。但我不认为你想要那样做,因为你希望他们互相见到。