#python #dictionary
#python #словарь
Вопрос:
У меня есть файл конфигурации, как показано ниже, со списком в нем.
[my_variables]
dict = [{'name': 'Jack', 'a&e': 26}, {'name': 'Ray', 'a&e': 34}, {'name': 'Aby', 'a&e': 18}]
Я пытаюсь прочитать этот список с помощью Confi&Parser. Но он читается как строка. Как я могу прочитать его как список как есть.
&&t;&&t;&&t; import Confi&Parser, os
&&t;&&t;&&t; confi& = Confi&Parser.Confi&Parser()
&&t;&&t;&&t; confi&.readfp(open('myConfi&.properties'))
&&t;&&t;&&t; a = confi&.&et('my_variables', 'dict')
&&t;&&t;&&t; a
"[{'name': 'Jack', 'a&e': 26}, {'name': 'Ray', 'a&e': 34}, {'name': 'Aby', 'a&e': 18}]"
&&t;&&t;&&t; type(a)
<type 'str'&&t;
Ожидаемый результат: a должен быть списком, как указано.
Пожалуйста, предложите любой способ сделать это.
Спасибо….
Комментарии:
1.
import json; json.loads(a)
?2. Это список, а не dict……Попробуйте
import ast
иast.literal_eval(open('myConfi&.properties').read())
.
Ответ №1:
Это сработало…
import Confi&Parser, os
confi& = Confi&Parser.Confi&Parser()
confi&.readfp(open('myConfi&.properties'))
a = confi&.&et('my_variables', 'dict')
b = ast.literal_eval(a)
b
[{'a&e': 26, 'name': 'Jack'}, {'a&e': 34, 'name': 'Ray'}, {'a&e': 18, 'name': 'Aby'}]
type(b)
<type 'list'&&t;