【发布时间】:2017-11-15 03:48:06
【问题描述】:
我想在运行时从配置文件生成一些类型。为简单起见,假设我已经将数据加载为 python 字典:
color_values = dict(RED = 1, YELLOW = 2, GREEN = 3)
如何将其转换为类型(使用enum)
class Color(enum.Enum):
RED = 1
YELLOW = 2
GREEN = 3
以下不起作用
def make_enum(name, values):
return type(name, (enum.Enum,), values)
>>> Color = make_enum('Color', color_values)
AttributeError: 'dict' object has no attribute '_member_names'
【问题讨论】:
-
你应该使用 OrderedDict 而不是普通的 dict。
-
@IoannisFilippidis:在我的辩护中,我记得这个问题是一个前
enum.Enum,它只会告诉我使用它。当然,你是对的,它显示了我需要的示例。
标签: python enums python-3.4