Для того чтобы превратить строку, которая представляет словарь в Python, обратно в словарь, можно воспользоваться функцией eval()
или модулем ast
. Важно отметить, что использование функции eval()
может быть опасным, так как она выполняет код и может представлять угрозу безопасности, если строка будет содержать злонамеренный код.
Вот пример использования eval()
:
dict_str = "{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}" dictionary = eval(dict_str) print(type(dictionary)) print(dictionary)
В данном примере, eval(dict_str)
будет выполнять строку dict_str
как код и преобразовывать ее в словарь. Затем мы выводим тип переменной dictionary
(чтобы убедиться, что это действительно словарь) и сам словарь.
Другой вариант - использование модуля ast
. Этот модуль предлагает более безопасный способ преобразования строки словаря в сам словарь, потому что он не выполняет переданную строку как код, а парсит ее и создает объекты соответствующего типа данных.
import ast dict_str = "{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}" dictionary = ast.literal_eval(dict_str) print(type(dictionary)) print(dictionary)
В данном примере, ast.literal_eval(dict_str)
будет безопасно преобразовывать строку dict_str
в словарь. Затем мы выводим тип переменной dictionary
и сам словарь.
В обоих случаях результат будет одинаковым:
<class 'dict'> {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
Таким образом, используя функцию eval()
или модуль ast
, вы можете легко превратить строку, представляющую словарь, обратно в сам словарь в Python.