python 脚本可以访问交互式会话中定义的变量吗?

Can a python script access variables defined in an interactive session?

所以,例如,我在一个 ipython 会话中,我有一个变量,

var = [3,5,6]

在 ipython 会话中定义,我想通过 运行 脚本执行某些操作,例如:

# my_script
plot(var)

所以我想打字

%run my_script.py 

从交互式会话到 plot var,就好像我输入了:

plot(var)

在互动环节中。

这可能吗?怎么样?

是的,来自 run command documentation:如果您使用 %run -i,它将 运行 现有交互式会话命名空间中的脚本,而不是干净的命名空间,因此它可以访问定义的变量。

如果你想在标准 python shell 中类似,你可以 运行 它与 execfile: execfile('my_script.py')