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

将变量从Jupyter笔记本传递到python脚本,python,jupyter-notebook,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。但是,如果example.py改为 a = [1, 2, 3, 4] b = [5, 8, 9, 10] foo = a + b 然后,Jupyter笔记本可以在

我想在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
。但是,如果example.py改为

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


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

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

def add(a):
  b = [5, 8, 9, 10]
  foo = a + b
那么在Jupyter你可以这样做

from example import add
add(a)
你必须把他们带进同一个节目。否则,您可以使用
argv
传递参数并在脚本中解析它们。但我认为你不想那样做,因为你想让他们见面