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
Du musst angemeldet sein, um einen Kommentar abzugeben.
'Call' die
Enum
Klasse:drehen
5
inFruit.Orange
:Aus der Den programmatischen Zugriff auf die Aufzählung der Mitglieder und deren Attribute Abschnitt der Dokumentation:
InformationsquelleAutor der Antwort Martijn Pieters
Können Sie auch python-dictionary für diesen Zweck. Wie folgt,
Ausgabe:
Oder Sie erstellen ein einfaches Enum wie folgt,
InformationsquelleAutor der Antwort Naggappan Ramukannan