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')")
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