Курс 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. Работа с контекстными менеджерами
  2. Запуск внешних программ с subprocess
  3. Генератор списка с условием if
  4. Обновление ключей в Python
  5. Создание файла с проверкой ошибки
  6. Обработка исключений в Python
  7. Блок try…finally в Python
  8. Установка User-Agent в Python
  9. Метод get() в Python
  10. Многопроцессорное программирование в Python
  11. Срезы в Python
  12. Использование super() в Python
  13. Обработка ошибок в Python
  14. Форматирование строк в Python
  15. Поиск частого элемента
  16. Печать комбинаций в Python с Itertools
  17. UserString в Python
  18. Операторы += в Python
  19. Объединение множеств в Python
  20. Работа с модулем cmath
  21. Enum в Python
  22. Показ всплывающих окон Tkinter
  23. Лимиты на ресурсы Python
  24. Непрерывная проверка в Python
  25. Lambda-функция в Python: использование с map() и sum()
  26. Python 3.12: Псевдонимы типов
  27. Создание функций высшего порядка
  28. Получение текущей даты и времени с помощью datetime
  29. Python: возвращение нескольких значений
  30. Фильтрация элементов с помощью islice
  31. Работа со словарями Python
  32. Атрибуты класса и экземпляра
  33. Замена атрибута в именованном кортеже
  34. Форматирование кода на Python
  35. Ошибка NotImplemented в Python
  36. Передача параметров в Python
  37. Python Менеджер контекста
  38. Получение атрибутов и методов класса
  39. Работа со слайсами
  40. Списковое включение в Python
  41. Проверка наличия элемента в списке
  42. Методы split() и join() — Python строк.
  43. Обработка исключений в Python
  44. Хэш-функции и метод цепочек
  45. Метод setdefault() в Python
  46. Списки в Python: основы
  47. GitHub в Telegram: подписка на уведомления
  48. Метод classmethod

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