Примеры использования

Что можно сериализовать

Обратите внимание, что сериализация функций выполняется по имени, а не по значению. Т.е. библиотека сохраняет только имя функции с именем модуля, где она определена. Тоже самое справедливо и для классов

import pickle

obj = [
    {'id':1, 'name':'Stuffy'},
    {'id':2, 'name': 'Fluffy'}
]

with open('file.p', 'wb') as f:
    pickle.dump(obj, f)

with open('file.p', 'rb') as f:
    loaded_obj = pickle.load(f)

print(loaded_obj)
#=> [{'id': 1, 'name': 'Stuffy'}, {'id': 2, 'name': 'Fluffy'}]

Чтобы записать объект в файл нужно использовать метод dump(). Простейший вызов метода выглядит следующим образом