Я использовал Python в течение многих лет.Я широко использовал рассол.Я не могу понять, что это делает:
with codecs.open("huge_picklefile.pc", "rb") as f:
data = pickle.load(f)
print(len(data))
data = pickle.load(f)
print(len(data))
data = pickle.load(f)
print(len(data))
Это возвращается ко мне:
335
59
12
Я запутался.Я использую, чтобы засолить загрузку массивного файла в память.Сам объект представляет собой массив массивов (я полагаю).Может ли он состоять из нескольких маринованных объектов?К сожалению, я не создал объект рассола, и у меня нет доступа к тому, кто это сделал.
Я не могу понять, почему Pickle разделяет мой файл на куски, что не является значением по умолчанию, и я не говорю об этом.Что делает перезагрузка того же файла?Я, честно говоря, никогда не пробовал и даже не сталкивался с примером использования до сих пор
Я потратил целых 5 часов, пытаясь понять, как вообще задать этот вопрос в Google.Неудивительно, что попытка «многократной загрузки одного и того же документа» не дает ничего слишком полезного.Документация Python 3.7 не описывает это поведение.Я не могу понять, как многократная загрузка документа маринованного файла не приводит к (а) сбою или (б) загрузке всего объекта в память, а затем просто ссылается на него.За 15 лет использования Python я никогда не сталкивался с этой проблемой ... поэтому я делаю прыжок с верой в то, что это просто странно, и мы, вероятно, должны просто использовать базу данных.