【问题标题】:Can a python script access variables defined in an interactive session?python 脚本可以访问交互式会话中定义的变量吗?
【发布时间】:2015-02-19 20:44:15
【问题描述】:

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

var = [3,5,6]

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

# my_script
plot(var)

所以我想打字

%run my_script.py 

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

plot(var)

在交互式会话中。

这可能吗?怎么样?

【问题讨论】:

  • 如果您在脚本中定义函数并希望在会话中对变量调用它们,您可以执行import scriptname(假设为scriptname.py)然后调用scriptname.plot(var),或类似的方法。跨度>
  • 这不是我真正想要的。我只是想让我的脚本的行为就像它的内容被复制/粘贴到会话中一样。

标签: python ipython interactive


【解决方案1】:

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

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

【讨论】:

  • 在 python 中是否有类似的可能(没有 ipython)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-22
相关资源
最近更新 更多