Wie kann ich die str
Darstellung einer dict
wie etwa die folgende Zeichenkette, in eine dict
?
s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
Ich ziehe es vor, nicht zu verwenden eval
. Was kann ich noch verwenden?
Der Hauptgrund dafür ist, dass eine Klasse, die ein Kollege von mir geschrieben hat, alle Eingaben in Strings umwandelt. Ich bin nicht in der Stimmung zu gehen und seine Klassen zu ändern, um mit diesem Problem umzugehen.
2 Stimmen
Wenn Sie Python 2.6 nicht verwenden können, können Sie eine einfache safeeval-Implentation verwenden wie code.activestate.com/rezepte/364469 Es setzt auf den Python-Compiler auf, so dass Sie nicht selbst die ganze Arbeit machen müssen.
30 Stimmen
Hinweis : Für diejenigen, die hierher kommen mit täuschend ähnlich aussehend JSON Daten, wollen Sie lesen gehen JSON in Python parsen stattdessen. JSON ist nicht dasselbe wie Python . Wenn Sie
"
doppelte Anführungszeichen um Ihre Zeichenketten haben Sie wahrscheinlich JSON-Daten. Sie können auch nachnull
,true
ofalse
Die Python-Syntax verwendetNone
,True
yFalse
.