Курс Python → Сериализация объектов в Python

Модуль pickle в Python предоставляет удобные инструменты для сериализации и десериализации объектов Python. Сериализация — это процесс преобразования объекта в последовательность байтов, которая может быть сохранена в файле или передана по сети. Десериализация — обратный процесс, когда последовательность байтов преобразуется обратно в объект.

В приведенном примере мы создаем объект data в виде словаря и используем функцию pickle.dumps для сериализации этого объекта в байтовую строку. Мы можем сохранить эту строку в файле или передать ее по сети. Затем, используя функцию pickle.loads, мы десериализуем байтовую строку обратно в объект и получаем исходный словарь data.

import pickle

data = {'key': 'value'}
serialized_data = pickle.dumps(data)

# Сохраняем serialized_data в файл или передаем по сети

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)  # Выведет: {'key': 'value'}

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

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

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Структура данных deque в Python
  2. Преобразование текста в нижний регистр
  3. Сравнение def и lambda функций в Python
  4. Работа с YAML в Python
  5. Хранение переменных в словаре.
  6. Поиск индекса элемента
  7. Получение размера объекта с sys.getsizeof()
  8. Метод __iand__ для пользовательских классов
  9. Работа с файлами в Python
  10. Работа с геоданными с помощью geopy
  11. Копирование объектов в Python
  12. Множественные конструкторы в Python
  13. Измерение времени выполнения кода
  14. Основы работы с базами данных в Python
  15. Заказ карты Тинькофф Black
  16. Генератор бросков кубиков
  17. Создание GUI с Tkinter: Entry
  18. Возврат нескольких значений
  19. Метод rpow в Python
  20. Экранирование символов в Python
  21. Игра «Камень, ножницы, бумага» — Python
  22. Работа с комбинациями в Python.
  23. Тип данных TypeVarTuple
  24. Solidity для DeFi Ethereum
  25. discard() — удаление элемента из множества
  26. Ускорение кода с помощью векторизации
  27. Создание множества в Python
  28. Оптимизация памяти с помощью __slots__
  29. Работа с deque из collections
  30. Копирование в Python
  31. Работа с типами данных в Python с помощью pydantic.
  32. Генераторы в Python
  33. Работа с аргументами командной строки в Python
  34. Создание файла с проверкой ошибки
  35. Работа с байтовыми строками в Python
  36. Оператор del в Python
  37. Генерация QR-кодов с Python
  38. Применение функции к элементам списка
  39. Генерация случайных чисел в Python
  40. Объединение словарей в Python
  41. Имена объектов в Python
  42. Генерация случайных чисел в Python
  43. Разделение строки на пары ключ-значение.

Marketello читают маркетологи из крутых компаний