我想在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并打印出来,即使fup没有在Jupyter笔记本中定义。
为什么python脚本不能在Jupyter笔记本环境中看到变量?我如何将变量从笔记本环境传递给脚本?
答案 0 :(得分:1)
python脚本无法在jupyter notebook环境中看到变量,因为它们是不同的程序。当您使用魔术命令时,它将作为单独的程序运行。如果要将变量传递给方法,则可以选择将其转换为函数。说添加
def add(a):
b = [5, 8, 9, 10]
foo = a + b
然后在Jupyter你可以做到这一点
from example import add
add(a)
你必须把它们带到同一个程序中。否则,您可以使用argv
传递参数并在脚本中解析它们。但我不认为你想要那样做,因为你希望他们互相见到。