python - 访问字典模块项目

标签 python dictionary

我的工作文件夹是/scripts/

我创建了一个只包含字典的文件

my_dict = {'sky' : 'blue'}

在该文件中,我可以print my_dict['sky'] 就好了。

在 PyCharm 中,我在/scripts/中创建了一个名为/scripts/dictionaries/的新文件夹。里面有一个名为 dictionary_file.py 的文件,里面是 my_dict。

PyCharm 似乎自动生成了一个字典模块。我可以 from dictionaries import my_dict 很好,但是为什么我尝试做 my_dict['sky'] 我得到:

TypeError: 'module' object has no attribute '__getitem__'

我确定这是一个愚蠢的菜鸟问题,但我被卡住了。在此先感谢您的帮助。

最佳答案

from dictionaries.dictionary_file import myDict

print myDict['sky']

肯定会抛出:TypeError: 'module' object has no attribute '__getitem__' 因为 Python 认为 myDict 在这种情况下是一个 module 对象

from dictionaries import dictionary_file

print dictionary_file.myDict['sky']

现在 Python 知道包字典的模块 dictionary_file 有一个叫做 myDict 的东西,并在运行时发现 myDict 是一个 dict,它实现了一个 __getitem__ 方法。

任何时候您尝试通过其键访问字典值,python 都会调用 dict 类的 __getitem__ 方法。

你也可以这样做

from dictionaries.dictionary_file import *

print myDict['sky']

关于python - 访问字典模块项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27001956/

相关文章:

java - 将列表转换为 dict(字典)。过程桥通讯

python - 发现字典中的最大值

python - 从数据库查询填充嵌套字典

Python - 从 JSON 创建字典时遇到问题

python - lxml : How to verify tag value in different nodes

Python - 未知大小的二维列表

python - TensorFlow 中的特征值问题

python - 字符串列表列表到字典列表

python - 如何将 Pandas 数据框列映射到嵌套字典

c++ - 在程序选项中添加键值对