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
Что сделать?
  • Вопрос задан
  • 3176 просмотров
Решения вопроса 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.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект