我想在 Jupyter notebook 中定义一个变量,然后将其传递给 python 脚本。
例如笔记本中:
a = [1, 2, 3, 4]
%run example.py
print foo
在 example.py 中
b = [5, 8, 9, 10]
foo = a + b
当然,这会返回错误,因为 a
尚未在 example.py 中定义。但是,如果 example.py 有
a = [1, 2, 3, 4]
b = [5, 8, 9, 10]
foo = a + b
然后 Jupyter notebook 可以在脚本运行后“看到”foo 并打印它,即使 foo 没有在 Jupyter notebook 本身中定义。
为什么python脚本看不到Jupyter notebook环境中的变量?以及如何将变量从笔记本环境传递到脚本?
最佳答案
python 脚本看不到jupyter notebook 环境中的变量,因为它们是不同的程序。当您使用魔术命令时,它作为一个单独的程序运行。如果您想将变量传递给方法,则可以选择将其转换为函数。说加
def add(a):
b = [5, 8, 9, 10]
foo = a + b
然后在 Jupyter 中你可以这样做
from example import add
add(a)
你必须把它们放在同一个程序中。否则,您可以传递参数并使用 argv
在脚本中解析它们。但我认为您不想这样做,因为您希望他们看到彼此。
关于python - 将变量从 Jupyter notebook 传递到 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44473536/