Conversation de représentations de chaîne des dictionnaires en dictionnaires
Considérez la tâche de convertir une représentation de chaîne d'un dictionnaire en dictionnaire. Par exemple:
s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
on peut être tenté d'utiliser la fonction EVAL à cet effet, mais il est préférable d'éviter EVAL en raison de ses risques de sécurité potentiels. bibliothèque:
Importer ast dictionary = ast.literal_eval (s)
import ast dictionary = ast.literal_eval(s)
Cette méthode est plus sûre que d'utiliser l'évaluation, car il empêche l'exécution d'un code arbitraire qui pourrait potentiellement compromettre votre système. Par exemple:
# Exemple dangereux: eval ("shutil.rmtree ('mongo')") # Exemple sûr: AST.Literal_eval ("shutil.rmtree ('mongo')")
# Dangerous example: eval("shutil.rmtree('mongo')") # Safe example: ast.literal_eval("shutil.rmtree('mongo')")
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3