Tôi đang sử dụng cổng lùi Enum enum34 bằng Python 2.7.Truy cập Python enum34 theo tên
Theo tài liệu, bạn có thể truy cập thành viên enum theo tên của họ, sử dụng quyền truy cập mục. Đó là, sau đây nên làm việc:
from enum import Enum
class Foo(Enum):
bar = 1
baz = 2
print(Foo['bar'])
Tuy nhiên, khi tôi chạy đoạn code tôi nhận được lỗi này trong dòng cuối cùng:
TypeError: 'type' object has no attribute '
__getitem__
'
Tôi có thiếu một cái gì đó ở đây hay là functionallity này chỉ không được thực hiện trong 2.7 backport?
Làm việc cho tôi (cả Python 2 và Python 3). – vaultah
@vaultah: Tôi vừa thử nghiệm nó trong một virtualenv trinh nữ mới, nơi tôi chỉ cài đặt enum34 và ở đó nó hoạt động. Vì vậy, có thể có một cuộc xung đột với một số gói khác? Bất kỳ ý tưởng làm thế nào tôi có thể theo dõi này? – luator
'Nhập enum; in (enum .__ file __) 'cho bạn biết là được nhập khẩu? Bạn có thể có một mô-đun khác được cài đặt ở nơi khác. Sau đó so sánh tệp đó với nội dung gói virtualenv 'lib/python2.7/site-packages/enum /' mới để xem bạn có phiên bản cũ hay không. –