首页 > 解决方案 > 为什么我单击时 Spyder 无法打开 Dictionary 变量?

问题描述

我通过以下类创建我的字典,最后我相信它是一个普通的字典子类。

class my_dictionary(dict):
    # Function to add key:value 
    def add(self, key, value): 
        self[key] = value 

我使用这个字典子类将列表与字符串相关联:

from collections import OrderedDict

timeDict = my_dictionary()

filename = 'name'
t = [0, 1, 2]

timeDict.add(filename, t)

代码创建字典并按预期使用它:

在此处输入图像描述

但是,我无法通过在变量资源管理器中单击它来检查 Spyder 中的字典!我收到以下错误对话框:

错误

Spyder 无法从控制台检索此变量的值。

错误消息是:

AttributeError("无法获取属性'my_dictionary' on ",)

错误信息

标签: pythonpython-3.xdictionaryspyder

解决方案


这是 spyder 中的一个已知问题:#8856。据开发人员称,它的修复程序正在为 Spyder 4.0 开发。

同时,您的特定用例有一个解决方法。该add方法不添加任何新功能,因此您可以使用普通的dict. 如果您选择这样做,该语句timeDict.add(filename, t)可以替换为。timeDict[filename] = t

如果您的目标是尝试覆盖构建的 it 类,那么您现在将无法使用 Spyder 的变量资源管理器。


推荐阅读