如何在python中将int转换为Enum?

在python 2.7.6中使用新的枚举功能(通过backport enum34)

给定以下定义,如何将int转换为相应的枚举值

从枚举导入枚举
水果类(枚举):
苹果=4
橙色=5
梨=6

我知道我可以手工制作一系列if语句来进行转换,但是有没有一种简单的python转换方法?基本上,我想要一个返回枚举值的函数ConvertIntToFruit(int)

我的用例是我有一个csv记录文件,在其中我将每条记录读取到一个对象中。其中一个文件字段是表示枚举的整数字段。在填充对象时,我希望将文件中的整数字段转换为对象中相应的枚举值

您“调用”了Enum类:

水果(5)

要将5转换为水果橙色

&gt&燃气轮机&燃气轮机;从枚举导入枚举
&燃气轮机&燃气轮机&燃气轮机;水果类(枚举):
...     苹果=4
...     橙色=5
...     梨=6
... 
&燃气轮机&燃气轮机&燃气轮机;水果(5)
<水果橙:5>

从文档的“对枚举成员及其属性的编程访问”部分:

有时访问枚举中的成员很有用
以编程方式(即,Color.red不起作用的情况,因为
确切的颜色在程序编写时未知)枚举允许这样做
访问:

&gt&燃气轮机&燃气轮机;颜色(1)
<颜色:红色:1>
&燃气轮机&燃气轮机&燃气轮机;颜色(3)
<颜色:蓝色:3>

在相关说明中:要映射包含枚举成员的名称的字符串值,请使用subscription:

&gt&燃气轮机&燃气轮机;s=‘苹果’
&燃气轮机&燃气轮机&燃气轮机;水果[s]
<水果。苹果:4>

发表评论