Курс 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. Любовь к Python
  2. Создание словаря и множества
  3. Работа с географическими данными.
  4. Копирование объектов в Python
  5. Основы Python за 14 дней
  6. Принципы LSP и ISP в Python
  7. Модуль xkcd: добавление юмора в Python
  8. Установка и использование Python-dateutil
  9. Методы и функции в Python
  10. Определение функций с необязательными аргументами
  11. Модуль xkcd: загрузка комиксов
  12. Модуль inspect
  13. Оператор Walrus: правильное использование
  14. Очистка строки в Python
  15. Поиск индексов подстроки
  16. Условное добавление элементов в список
  17. Обработка ошибок в Python
  18. Подчеркивание в REPL
  19. Объединение списков в Python
  20. Установка и использование Virtualenv
  21. Оптимизация параметров в Python
  22. Улучшенные подсказки для импорта в Python 3.12
  23. Курс Data Scientist в медицине
  24. Работа с часовыми поясами в Python.
  25. Генератор бросков кубиков
  26. Названия переменных
  27. Логирование в Python
  28. Логирование с Loguru
  29. Изменяемые и неизменяемые объекты
  30. Python groupby() из itertools: работа с повторяющимися элементами
  31. Работа с IP-адресами в Python
  32. Управление сессиями в Python
  33. Уникальность ключей в словаре
  34. Лямбда-функции в цикле
  35. Методы split() и join() — Python строк.
  36. Python-dateutil — работа с датами
  37. SciPy: широкий функционал для математических операций
  38. Изменение регистра данных
  39. Метод split() в Python
  40. Поиск самого частого элемента
  41. Оператор «not» в Python
  42. Поиск шаблона в начале строки
  43. Форматирование строк в Python
  44. Defaultdict в Python
  45. Иерархия классов в Python
  46. Декораторы в Python

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