Wie konvertiert man Int in Enum in Python?

Mithilfe der neuen Enum-Funktion (über backport enum34) mit python 2.7.6.

Gegeben, die folgende definition, wie konvertiere ich ein int auf die entsprechende Enum-Wert?

from enum import Enum

class Fruit(Enum):
    Apple = 4
    Orange = 5
    Pear = 6

Ich weiß, ich kann die hand-Handwerk eine Reihe von if-Anweisungen, um die Konvertierung zu tun, aber gibt es eine einfache pythonic Weg zu konvertieren? Im Grunde möchte ich eine Funktion ConvertIntToFruit(int) liefert einen enum-Wert.

Mein use-case ist, ich habe eine csv Datei mit Datensätzen, wo lese ich jeden Datensatz in ein Objekt. Eines der Datei Felder ist ein integer-Feld stellt eine Aufzählung. Da bin ich Auffüllen der Gegenstand den ich umwandeln möchte, das integer-Feld aus der Datei in den entsprechenden Enum-Wert in das Objekt.

InformationsquelleAutor der Frage User | 2014-05-30

Schreibe einen Kommentar