python - 将变量从 Jupyter notebook 传递到 python 脚本

标签 python jupyter-notebook

我想在 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/

相关文章:

python - 如何从Python中的pandas数据框的列中获取包含唯一3个字母集的单词类别?

python - Jupyter 笔记本 : Updated packages don't update inside the notebook

jupyter-notebook - Jupyter 中的非阻塞单元执行

python - VSCode 无法将 jupyter notebook 导出到 html

python - 为什么每次运行 SPYDER 后我总是需要手动按 "Enter Key"?

python - 使用 Z3 求解器求解长度为任意大小数组的条件

Python - 当行索引和列都是类别时数据帧值的散点图

python - numpy 多维数组的不同数据类型

python - 在 networkx 中绘制完整的 neo4j 图形的最简单方法

python - 使用 ipywidgets FileUpload 小部件时,我可以定义文件上传操作吗