gpt4 book ai didi

python - 在 Python 中将字符串转换为枚举

转载 作者:IT老高 更新时间:2023-10-28 21:10:10 24 4
gpt4 key购买 nike

将字符串转换为 Enum 子类的相应实例的正确方法是什么?似乎 getattr(YourEnumType, str) 可以完成这项工作,但我不确定它是否足够安全。

举个例子,假设我有一个类似的枚举

class BuildType(Enum):
debug = 200
release = 400

给定字符串 'debug',我怎样才能得到 BuildType.debug 作为结果?

最佳答案

此功能已内置于 Enum :

>>> from enum import Enum
>>> class Build(Enum):
... debug = 200
... build = 400
...
>>> Build['debug']
<Build.debug: 200>

成员名称区分大小写,因此如果正在转换用户输入,您需要确保大小写匹配:

an_enum = input('Which type of build?')
build_type = Build[an_enum.lower()]

关于python - 在 Python 中将字符串转换为枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41407414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com