Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Прочесть словарь из файла


Автор: infinitefreedom 29.8.2015, 15:37
В текстовом файле имеется словарь, например: {'a':['b','c']}, при чтении из файла, python, конечно же, воспринимает его, как строку. Как импортировать эту строку в словарь, есть ли какие-то готовые решения/функции, или нужно писать функцию?
Вопрос решен: eval()

Автор: Envy 31.8.2015, 12:56
Если нужно просто сохранить dict в файле, то лучше использовать какой-нибудь сериализатор, например - https://docs.python.org/2/library/pickle.html, или https://docs.python.org/2/library/json.html.
Оба есть в стандартной библиотеке. И еще много - xоть xml, хоть yaml. Тут уж надо смотреть, что лучше подойдет для конкретной задачи.

Если задача именно в том, чтобы разпарсить такую строку - то можно так:
Код

import ast
str = "{'a':['b','c']}"
d = ast.literal_eval(str)
print d


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Prochest-slovar-iz-fayla-id55e1a7eaae2015dc468b4567#findElement_E7045_55e424dbae2015b04e1cbe26_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)