Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine String-Darstellung eines Wörterbuchs sicher in ein Wörterbuch in Python konvertieren?

Wie kann ich eine String-Darstellung eines Wörterbuchs sicher in ein Wörterbuch in Python konvertieren?

Mary-Kate Olsen
Freigeben: 2024-12-23 12:11:19
Original
467 Leute haben es durchsucht

How Can I Safely Convert a String Representation of a Dictionary to a Dictionary in Python?

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'}"
Nach dem Login kopieren

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'}")
Nach dem Login kopieren

Ausgabe:

{'muffin': 'lolz', 'foo': 'kitty'}
Nach dem Login kopieren

Vorteile von 'ast.literal_eval'

  • Sicherheit: Es wertet nur Literalausdrücke aus und verhindert so die Ausführung von Schadcode.
  • Vielseitigkeit: Es kann nicht nur Wörterbücher, sondern auch Listen, Tupel, und andere Python-Literalstrukturen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage