Konvertieren von String-Darstellungen von Wörterbüchern in Wörterbücher
In Python ist es oft wünschenswert, String-Darstellungen von Wörterbüchern zu konvertieren, wie beispielsweise die String-Darstellung unten , in die entsprechenden Wörterbücher:
s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
Verwendung vermeiden 'eval'
Obwohl es möglich ist, die Funktion „eval“ zum Auswerten des Zeichenfolgenausdrucks zu verwenden, wird von dieser Methode aus Sicherheitsgründen abgeraten. „eval“ führt beliebigen Code aus, was das Risiko von Schwachstellen erhöht.
Sicherere Alternativen
Um String-Wörterbücher sicher zu konvertieren, sollten Sie die Verwendung des integrierten „ast.literal_eval“ in Betracht ziehen ' Funktion. 'ast.literal_eval' wurde speziell für die Auswertung literaler Python-Ausdrücke entwickelt, z. B. die Zeichenfolgendarstellung von Wörterbüchern, Tupeln, Listen usw.
Beispiel
import ast ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
Ausgabe:
{'muffin': 'lolz', 'foo': 'kitty'}
Vorteile von 'ast.literal_eval'
Im Vergleich zu „eval“ 'ast.literal_eval' bietet eine sicherere und kontrollierte Möglichkeit, Zeichenfolgendarstellungen von Wörterbüchern oder anderen Literalen in Python-Objekte zu konvertieren.
Das obige ist der detaillierte Inhalt vonWie kann ich eine String-Darstellung eines Wörterbuchs sicher in ein Wörterbuch in Python konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!