У меня есть этот огромный файл с объектами, предположим, что:
for object in objects:
pickle.dump(myfile,object)
Объекты разного размера, хотя они одного типа.
Файл заполняется в течение длительного времениВ некоторых случаях, но время от времени, когда процесс дампа перезапускается, мне нужно читать последние объекты.
Примерно так:
myfile.seek(-1000,2)
while myfile.tell() < mysize:
objects.append(pickle.load(myfile))
Теперь это, очевидно, не работает, потому что-1000 обычно не в начале одного из объектов, и pickle вызывает исключение и т. Д.эта идея, и я подозреваю, что она слишком сильно продвигает файл при определенных попытках чтения, и я мог пропустить несколько объектов.
Чтение файла с самого начала не вариант из-за его размера.
Есть идеи, чтобы это работало?Есть ли способ для pickle проверить, указывает ли курсор текущего файла на что-то похожее на объект или нет?