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

cap*_*let 8 python interactive ipython

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

var = [3,5,6]
Run Code Online (Sandbox Code Playgroud)

在ipython会话中定义,我想通过运行脚本来做一些事情,例如:

# my_script
plot(var)
Run Code Online (Sandbox Code Playgroud)

所以我要打字

%run my_script.py 
Run Code Online (Sandbox Code Playgroud)

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

plot(var)
Run Code Online (Sandbox Code Playgroud)

在交互式会话中.

这可能吗?怎么样?

tza*_*man 8

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

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