Как содержимое файла преобразовать в список объектов

Есть список объектов dataclass вида:

b = [Animal(n=1, id=1, animal=['шотландец', 'сфинкс', 'манчкин']), Animal(n=4, id=2, animal=['овчарка', 'бульдог', 'сфинкс', 'ориентал']), Animal(n=1, id=3, animal= ['овчарка', 'корги', 'воробей'])]

Содержимое этой переменной я записываю в текстовый файл.

Как открыть файл так, чтобы это была не строка, а такой же список объектов, как в переменной b?

Пробовала делать следующее:

from ast import literal_eval

with open("t.txt", "r") as f:
    result = literal_eval(f.read())

Здесь создается список, но элемент списка в виде строки, что так же не является решением моей задачи. Нужно чтобы я по индексу могла обратиться к элементу списка, то есть при b[0] получить "Animal(n=1, id=1, animal=['шотландец', 'сфинкс', 'манчкин'])"


Ответы (1 шт):

Автор решения: SergFSM

Да, похоже, что вам поможет консервирование. Работает это примерно так:

import pickle

with open(filename, 'w+b') as f:
    pickle.dump(b, f)  # консервация

with open(filename, 'r+b') as f:
    b = pickle.load(f)  # расконсервация
→ Ссылка