Python enum34 按名称访问

Python enum34 access by name

我正在使用 Enum backport enum34 和 Python 2.7.

根据文档,应该可以使用项目访问按名称访问枚举成员。也就是说,以下应该有效:

from enum import Enum

class Foo(Enum):
    bar = 1
    baz = 2

print(Foo['bar'])

但是,当我 运行 代码时,我在最后一行收到此错误:

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

我是不是遗漏了什么或者这个功能在 2.7 backport 中没有实现?

您可能与 Enum 模块发生冲突。试试这个:

pip uninstall Enum

同时安装了 EnumEnum34,这不起作用。卸载后 Enum,效果非常好。