from enum import Enum
class ErrorCode(str, Enum):
GENERAL_ERROR = 'A general error has occurred.'
INVALID_RECIPIENT_EMAIL_ADDRESS = 'The recipient email address provided is not a valid email address.'
@classmethod
def addErrorsAsAttrib(cls, err_code, err_description):
setattr(cls, err_code, err_description)
extended_error_codes = ErrorCode.addErrorsAsAttrib('NEW_ERROR2', Enum('NEW_ERROR2', 'The new error 2'))
print(ErrorCode.__members__.keys())
# OUTPUT:
# dict_keys(['GENERAL_ERROR', 'INVALID_RECIPIENT_EMAIL_ADDRESS'])
我试图找到一种方法来动态地将新的错误代码添加到我的ErrorCode类(一个枚举派生类)中,但无法确定正确的方法。根据代码示例-我尝试了setattr(),但这并没有按预期执行。任何帮助都将不胜感激
Enum
被设计为不允许扩展。不过,根据您的用例,您有两个选项:extend_enum
函数^{1披露:我是Python stdlib ^{} 、^{} backport 和Advanced Enumeration (^{}) 图书馆的作者
相关问题 更多 >
编程相关推荐