Konvertieren der Zeichenfolgendarstellung eines Wörterbuchs in ein Wörterbuch
Oft müssen wir möglicherweise eine Zeichenfolgendarstellung eines Wörterbuchs wie die angegebene konvertieren unten in ein tatsächliches Wörterbuch.
s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
Aus Sicherheitsgründen ist es vorzuziehen, die Verwendung von eval für solche Konvertierungen zu vermeiden. Hier sind einige sicherere Alternativen:
Verwendung von ast.literal_eval:
Pythons Ast-Modul bietet eine praktische Funktion namens literal_eval, die speziell für die sichere Auswertung von Ausdruckszeichenfolgen entwickelt wurde.
import ast dict_from_string = ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
Diese Methode ermöglicht nur die Auswertung von Literalen und einfachen Ausdrücken Es ist viel sicherer als eval.
Vorteil von ast.literal_eval:
Im Gegensatz zu eval beschränkt ast.literal_eval die Auswertung auf einen begrenzten Satz von Python-Literalen, was potenziell verhindert Sicherheitsrisiken im Zusammenhang mit der Ausführung willkürlichen Codes.
Das obige ist der detaillierte Inhalt vonWie kann ich eine String-Darstellung eines Wörterbuchs sicher in ein Python-Wörterbuch konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!