9

Python 2.7 でEnum バックポートenum34を使用しています。

ドキュメントによると、項目アクセスを使用して、列挙型メンバーに名前でアクセスできるはずです。つまり、次のように動作するはずです。

from enum import Enum

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

print(Foo['bar'])

ただし、コードを実行すると、最後の行に次のエラーが表示されます。

TypeError: 'type' オブジェクトに属性 ' __getitem__'がありません

ここで何か不足していますか、それともこの機能が 2.7 バックポートに実装されていないだけですか?

4

1 に答える 1

8

Enum モジュールと競合している可能性があります。これを試して:

pip アンインストール Enum

両方EnumEnum34インストールしても、これは機能しませんでした。アンインストールした後Enum、それは魅力のように機能しました。

于 2015-09-22T15:05:42.070 に答える