Maison > développement back-end > Tutoriel Python > Comment puis-je convertir en toute sécurité une représentation sous forme de chaîne d'un dictionnaire en dictionnaire Python ?

Comment puis-je convertir en toute sécurité une représentation sous forme de chaîne d'un dictionnaire en dictionnaire Python ?

DDD
Libérer: 2024-12-29 06:08:11
original
795 Les gens l'ont consulté

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

Conversion de la représentation sous forme de chaîne d'un dictionnaire en dictionnaire

Souvent, nous pouvons avoir besoin de convertir une représentation sous forme de chaîne d'un dictionnaire, comme celle donnée ci-dessous, dans un véritable dictionnaire.

s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
Copier après la connexion

Il est préférable d'éviter d'utiliser eval pour de telles conversions pour des raisons de sécurité. Voici quelques alternatives plus sûres :

Utilisation d'ast.literal_eval :

Le module ast de Python fournit une fonction pratique appelée literal_eval, spécialement conçue pour évaluer en toute sécurité les chaînes d'expression.

import ast
dict_from_string = ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
Copier après la connexion

Cette méthode permet uniquement l'évaluation de littéraux et d'expressions simples, ce qui en fait beaucoup plus sûr que eval.

Avantage de ast.literal_eval :

Contrairement à eval, ast.literal_eval restreint l'évaluation à un ensemble limité de littéraux Python, ce qui évite les risques de sécurité potentiels associé à l'exécution de code arbitraire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal