我是
python的新手,正在使用Spyder的IDE.我欣赏它的一个特点是它是可变的探险家.然而,基于一些研究,我发现它只显示全局变量.我找到的解决方法是使用inspect模块:
import inspect
local_vars = {}
def main():
global local_vars
a = 2
b = 4
c = a+b
local_vars = inspect.currentframe().f_locals
return c
main()
这很好,但是,我有其他函数从main()中调用,我也希望在变量资源管理器中看到这些变量.我模仿了main函数中对变量所做的操作,并且没有出现dict.我注意到当我在Spyder的变量资源管理器选项中禁用“排除不支持的数据类型”设置时,第二个dict会显示正确的大小属性,但是,我无法打开/查看它.关于可能解决的任何想法?这是我第一次发布BTW.
谢谢!!
这是我的问题的一个工作示例,我已经将其追溯到pylab子图.
import inspect, pylab
mainVars = {}
def main():
global mainVars
a = 1
b = 2
fig = pylab.figure()
subPlot = fig.add_subplot(211) ## line of interest
pylab.close('all')
mainVars = inspect.currentframe().f_locals
main()
当注释掉感兴趣的行时,dict会成功创建并可以查看.似乎使用fig.add_subplot()创建的对象没有被dict正确处理.它似乎是一种不受支持的数据类型.
希望这有助于澄清问题.
再次感谢.