"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo convertir de forma segura representaciones de cadena de diccionarios a diccionarios en Python?

¿Cómo convertir de forma segura representaciones de cadena de diccionarios a diccionarios en Python?

Publicado el 2025-03-04
Navegar:949

How to Safely Convert String Representations of Dictionaries to Dictionaries in Python?

Convertir representaciones de cadena de diccionarios a diccionarios

Considere la tarea de convertir una representación de cadena de un diccionario en un diccionario. Por ejemplo:

s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"

uno puede estar tentado a usar la función eval para este propósito, pero es preferible evitar evalu de sus riesgos de seguridad potenciales. biblioteca:

importar AST Dictionary = AST.LITERAL_EVAL (S)

import ast

dictionary = ast.literal_eval(s)

este método es más seguro que usar EVAL, ya que evita la ejecución del código arbitrario que podría compromentar su sistema. Por ejemplo:

# Ejemplo peligroso: eval ("shutil.rmtree ('mongo')") # Ejemplo seguro: AST.LITERAL_EVAL ("Shutil.rmtree ('Mongo')")

# Dangerous example:
eval("shutil.rmtree('mongo')")

# Safe example:
ast.literal_eval("shutil.rmtree('mongo')")
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3