Python enum34按名称访问

时间:2015-09-22 14:50:31

标签: python python-2.7 enums backport

我在Python 2.7中使用Enum backport enum34

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

from enum import Enum

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

print(Foo['bar'])

然而,当我运行代码时,我在最后一行得到了这个错误:

  

TypeError:' type'对象没有属性' __getitem__'

我在这里遗漏了一些东西,或者这个功能只是没有在2.7 backport中实现?

1 个答案:

答案 0 :(得分:8)

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

  

pip uninstall Enum

安装EnumEnum34时,这不起作用。卸载Enum后,它就像一个魅力。