«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как безопасно преобразовать строковые представления словарей в словари в Python?

Как безопасно преобразовать строковые представления словарей в словари в Python?

Опубликовано в 2025-03-04
Просматривать:505

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

преобразование строковых представлений словарей в словаря

рассмотрим задачу преобразования строкового представления словаря в словарь. Например:

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

может быть соблазнительным использовать функцию Eval для этой цели, но это предпочтительнее избегать оценки из -за его потенциальных рисков безопасности. Библиотека:

импорт Ast dictionary = ast.literal_eval (s)

import ast

dictionary = ast.literal_eval(s)

# Опасный пример: eval ("wetil.rmtree ('mongo')") # Безопасный пример: ast.literal_eval ("shutil.rmtree ('mongo')")

В первом примере Eval выполняет строку как код Python, что приводит к ошибке, потому что Mongo не является действительным каталогом. Во втором примере AST.Literal_EVAL безопасно оценивает строку как буквальное выражение и вызывает ошибку, указывающую на то, что строка уменена.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3