如何修复Python枚举-AttributeError(name)from None错误?

时间:2019-06-10 19:39:25

标签: python enums virtualenv

尝试在Python 3.7.3中使用枚举,出现以下错误。已经尝试安装和卸载enum34,但仍然无法正常工作。是否在虚拟环境中进行了所有操作(如错误所示)。

除了解决this question中所示的另一个枚举实现之外,还有其他方法可以解决吗?

#enum import:
from enum import Enum

# enum definition:
class Status(Enum):
    on: 1
    off: 2

# enum utilisation (another class, same file):
self.status = Status.off

# error:
File "C:\dev\python\test\venv\lib\enum.py", line 349, in __getattr__
AttributeError(name) from None
AttributeError: off

2 个答案:

答案 0 :(得分:3)

定义枚举的正确语法是:

class Status(Enum):
    on = 1
    off = 2

不是on: 1

答案 1 :(得分:3)

在您的定义中,使用=为属性而不是:分配值。

# enum definition:
class Status(Enum):
    on = 1
    off = 2