Задать вопрос

Зачем нужна сериализация?

Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности.

Всем привет.Обьясните на простом примере,зачем нужна не то чтобы сериализация,а именно модуль pickle || cPickle в python?Например записывая в файл или передавая в сокет данные мы можем указать в том же файле флаг b,чтобы запись производилась в двоичном режиме.Зачем нужно предварительно сериализовать обьект с помощью модуля pickle?
  • Вопрос задан
  • 11932 просмотра
Подписаться 6 Оценить Комментировать
Ответ пользователя Anton Kuzmichev К ответам на вопрос (5)
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
Сериализация:
  • это обобщённый процесс для структур языка программирования.
  • нужна для любого взаимодействия в системе, выходящего за рамки передачи данных в текущем скрипте: даже если вам кажется, что она не используется - это не так, она всё равно используется под капотом.

Сериализация гарантирует (для поддерживаемых структур данных), что после процесса сериализации/десериализации вы получите те же самые структуры данных.

Не будь её, вам бы понадобилось вручную создавать свои протоколы и методы перевода данных в вид, пригодный для передачи куда-либо.
Ну и, модуль pickle - это встроенная реализация сериализации, но в то же время - одна из многих. Вы можете использовать, например, json, или yaml. Что угодно, что переведёт обычные структуры данных в пригодную для передачи форму (строку, байтовая строка) и вернёт (десериализует) обратно.
Ответ написан