从文件中获取全局变量为字典?

1 投票
2 回答
868 浏览
提问于 2025-04-16 02:38

我有一个文件,叫做 constants.py,里面存了一堆全局常量。请问有没有办法把这些常量都拿出来,放到一个字典里,仅仅针对这个文件呢?

2 个回答

2
import constants

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

我不太明白这样做有什么意义。写 constants_dict['MY_CONSTANT'] 真的比写 constants.MY_CONSTANT 更好、更简单或更容易理解吗?

补充:

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

这是一种不同的写法,具体取决于你想要多简洁。

补充2:

cji 真是太棒了! constants.__dict__

5

这应该很简单:

import constants
print(constants.__dict__)

撰写回答