从文件中获取全局变量作为dict?

时间:2010-08-11 17:00:17

标签: python import globals

我有一个文件constants.py,其中包含一堆全局常量。有没有办法可以把它们全部作为dict获取,仅仅是为了这个文件?

2 个答案:

答案 0 :(得分:5)

应该很简单:

import constants
print(constants.__dict__)

答案 1 :(得分:2)

import constants

constants_dict = {}
for constant in dir(constants):
    constants_dict[constant] = getattr(constants, constant)

我不确定我是否明白这一点。如何使constants_dict['MY_CONSTANT']constants.MY_CONSTANT更好/更容易/更具可读性?

编辑:

根据评论,我现在看到了一些潜在的用途。

这是编写上述内容的另一种方法,具体取决于您想要的紧凑程度。

constants_dict = dict((c, getattr(constants, c)) for c in dir(constants))

EDIT2:

cji获胜! constants.__dict__