Найти - Пользователи
Полная версия: Как расконсервировать всё содержимое файла?
Начало » Python для новичков » Как расконсервировать всё содержимое файла?
1
Franek
Подскажите, как можно расконсервировать (unpickling) всё содержимое файла .dat ?
В моём коде при каждом запуске программы в файл дописываются данные, как и надо. А чтение происходит только первого кортежа.
 name = input("Ваше имя:  ")
score = 4
import pickle
a = (name, score)
file = open("list.dat", "ab")
pickle.dump(a, file)
file.close()
file = open("list.dat", "rb")
spisok = pickle.load(file)
print(spisok)
file.close()
marvellik
может потому что файл открывается на дозапись?
“Обратите внимание, что режим записи в файл должен обязательно быть wb, то есть перезапись файла в бинарном режиме. Для чтения режим должен быть rb:”
Franek
marvellik
Мне нужна как раз дозапись, чтобы старые данные сохранялись.
4kpt_IV
Для таких задач больше подходит модуль shelve…
doza_and
Franek
А чтение происходит только первого кортежа.
Все правильно. Положили tuple, получили tuple. С какой стати питон должен list выдумать? Если данных много это может быть и list и tuple и set и array ну и так далее В вашем случае это может быть и key,value пара для словаря. Не будет питон за вас решать как данные организовать.
Вы и не просите прочитать много кусков вам их и не выдают.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB