2016-08-01 3 views
0

Я хочу преобразовать следующую строку в словарь без использования функции eval() в python 3.5.Как преобразовать строку в словарь в python 3. *?

d = "{'Age': 7, 'Name': 'Manni'}";

Может ли кто-нибудь сказать мне хороший способ, чем использовать функцию eval()? (. На самом деле я хочу знать о функции, которая может непосредственно конвертировать словарь в строку)

+2

этот вопрос о python 3 и помечен как дублированный python 2 не согласен –

ответ

5
  1. literal_eval, несколько безопаснее версия eval (будет оценивать только литералы, то есть строки, списки и т.д.):

    from ast import literal_eval 
    
    python_dict = literal_eval("{'a': 1}") 
    
  2. json.loads, но это потребовало бы вашу строку в двойные кавычки:

    import json 
    
    python_dict = json.loads('{"a": 1}') 
    
Смежные вопросы