在Spyder的变量资源管理器中查看局部变量

2022-04-05 00:00:00 python 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()创建的对象。它似乎是不受支持的数据类型。

希望这有助于澄清问题。

再次感谢。


解决方案

若要在某些局部变量不受支持时查看它们的内容,您必须执行以下步骤:

  1. 转到变量资源管理器的选项菜单(从左至右的最后一个图标)。

  2. 选择名为排除不支持的数据类型的选项。

然后,您将看到保存在f_localsdict中的所有局部变量,即使您无法双击它。

相关文章