"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter com segurança representações de string de dicionários em dicionários em Python?

Como converter com segurança representações de string de dicionários em dicionários em Python?

Postado em 2025-03-04
Navegar:636

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

convertendo representações de string de dicionários em dicionários

Considere a tarefa de converter uma representação de uma string de um dicionário em um dictionary. Por exemplo:

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

pode -se tentar usar a função de avaliação para esse fim, mas é preferível para evitar avaliar os riscos potenciais de segurança. Biblioteca:

importa ast dicionário = ast.literal_eval (s)

import ast

dictionary = ast.literal_eval(s)

# Exemplo perigoso: Eval ("Shutil.rmtree ('Mongo')") # Exemplo seguro: ast.literal_eval ("Shutil.rmtree ('Mongo')")

No primeiro exemplo, Eval executa a sequência como código Python, o que resulta em um erro porque o Mongo não é um diretório válido. No segundo exemplo, ast.literal_eval avalia com segurança a string como uma expressão literal e levanta um erro indicando que a string está malformada.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3