В Python мне нужно разработать простую программу для записи и чтения объектов в двоичном файле.Там будет максимум 11 записей, которые будут вставлены, загружены или удалены по одной.Это что-то вроде файла имеет 11 слотов, и когда данные вставляются, индекс слотов будет передан.Поэтому, когда пользователь пытается вставить индекс, который уже заполнен, происходит сбой, и пользователь получает сообщение.
Итак, моя идея состояла в том, чтобы сохранить данные в зависимости от размера объекта.Например: если пользователь вставит данные в индекс 3, я не вставлю его в начало файла, начну вставлять в «3 * (размер объекта)»
Но проблема в том, что объектыразмеры не всегда одинаковы, поэтому теряется ссылка на запрошенные данные.
import pickle
class Reg:
def __init__(self, id, name):
self.id = id
self.name = name
def display(self):
print("{}: {}".format(self.id, self.name))
user = Reg(642213, "{}{}".format("José da Silva", 642213))
print(len(pickle.dumps(user)))
user = Reg(462903, "{}{}".format("Carlos Ribeiro", 462903))
print(len(pickle.dumps(user)))
user = Reg(502453, "{}{}".format("Alberto", 502453))
print(len(pickle.dumps(user)))
user = Reg(189567, "{}{}".format("Rodrigo Peixoto Gama", 189567))
print(len(pickle.dumps(user)))
Журнал консоли: 81 81 74 87
Итак, как мне это сделать?Есть ли способ установить размер по умолчанию для всех объектов?