我有一个文件,constants.py
,它包含一堆全局常量。有没有一种方法,我可以把它们作为字典来抓取,只是为了这个文件?从字典获取全局变量为字典?
回答
它应该是简单:
import constants
print(constants.__dict__)
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__
有一件事我能想到的是使用计算值作为重点 - 但后来有'getattr'和'setattr'功能。 – cji 2010-08-11 17:10:54
嗯,我可以回答我目前的项目(虽然我的问题是函数,而不是变量):我们必须通过三个套接字连接,USB连接和无线电信号来引用变量(函数,在我的情况下)从函数调用到函数执行的完整路径)。目标需要一个字符串字典:函数配对来知道要调用哪个函数,只需要给定函数名称和参数值即可使用。更具体地说,我们配对字符串:函数,然后配对字节:字符串,这让我们配对字节:函数(严重减少数据包大小)。 – 2010-08-11 17:14:02
我将常量传递给我的模板...'constants_dict'部分将放弃,并且可以直接使用我的常量。 – mpen 2010-08-11 17:14:15
- 1. 如何删除全局变量字典?
- 2. 对象/字典全局变量
- 3. 通过全局变量遍历()字典
- 4. 字典作为线程安全变量
- 5. 如何从字典中分配全局变量?
- 6. pyspark中的累加器与字典作为全局变量
- 7. 添加全局字典
- 8. 全局字典对的GCHandle
- 9. Python:打印变量字典字典
- 10. 获取字典
- 11. 获取字典
- 12. 获取字典
- 13. 从字典获取列表
- 14. 从字典中获取AnyObject
- 15. 从JSON获取字典
- 16. 从字典获取值
- 17. 字典对变量
- 18. 字典变量名?
- 19. Python字典变量
- 20. 为什么设置不在当地人,全局变量或变量字典
- 21. 经典的asp获取全局变量的值
- 22. 从PostgreSQL获取数据为字典
- 23. 从字典中提取字典swift
- 24. 从字典中提取字典
- 25. 如何从字典阵列(字典阵列)中的字典获取objectKey“标题”
- 26. 获取JSON字典
- 27. GAE Python - 对视图元素使用全局变量字典
- 28. 将本地字典复制到全局字典
- 29. 根据变量中的元素键在列表中获取字典的字典
- 30. 获取与最低键值字典从字典
哇,这比我的答案简单。 – tgray 2010-08-11 17:26:10