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
同时安装了 Enum
和 Enum34
,这不起作用。卸载后 Enum
,效果非常好。
我正在使用 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
同时安装了 Enum
和 Enum34
,这不起作用。卸载后 Enum
,效果非常好。