Записи Pickle могут быть объединены в файл, так что да, вы можете просто pickle.load(f)
несколько раз, но сами файлы не индексируются таким образом, чтобы вы могли искать данную запись.
То, что делает ваш f.seek(3)
, ищет третий байт в файле, который находится в середине записи маринада и, следовательно, не может быть выбран.
Если вам нужен произвольный доступ,Возможно, вы захотите взглянуть на встроенный модуль shelve
, который создает словарь-интерфейс поверх pickle
с использованием файлового модуля базы данных.
(Еще один простой метод -быть просто иметь каталог, полный файлов рассола.)