在Spyder的变量资源管理器中查看局部变量
问题描述
我是新手,现在使用的是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。
谢谢!!
这里是我的问题的一个有效示例,我已经将其追溯到了小实验室的次要情节。
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似乎没有正确处理使用图.add_subploy()创建的对象。它似乎是不受支持的数据类型。
希望这有助于澄清问题。
再次感谢。
解决方案
若要在某些局部变量不受支持时查看它们的内容,您必须执行以下步骤:
转到变量资源管理器的选项菜单(从左至右的最后一个图标)。
选择名为排除不支持的数据类型的选项。
f_locals
dict中的所有局部变量,即使您无法双击它。
相关文章