Задать вопрос
rhino_o
@rhino_o
Студент

Работа с pickle. Как вывести все данные словаря из файла?

Как вывести все данные словаря из файла? Код:
import pickle
f = open('users.txt', 'rb')

e = pickle.load(f)

pickle.load(f) выводит только одну строку. Попробовал типа:
import pickle
f = open('users.txt', 'rb')
e = pickle.load(f)

while e.keys() != '':
    print(pickle.load(f))

Здесь программа выводит все строки, кроме последней. Вместо последней ошибка EOFError
Что сделать?
  • Вопрос задан
  • 3177 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@leclecovich
Попробуйте вот так:
from pickle import dumps, load


def store(arg):
    f = open('file.txt', 'w')
    f.write(dumps(arg))
    f.close()


def extract():
    f = open('file.txt', 'r')
    result = load(f)
    f.close()
    return result


d0 = {'one': 1, 'two': 2}
store(d0)
d1 = extract()
print d1


Здесь показано также отличие dump/load от dumps/loads. Кстати, Python 2.7.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы