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

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

Основными методами модуля pickle являются pickle.dumps() и pickle.loads(). Метод pickle.dumps() принимает объект Python и возвращает его сериализованное представление в виде строки байтов. Метод pickle.loads(), наоборот, принимает сериализованное представление объекта и возвращает его как объект Python.

Пример использования модуля pickle:


import pickle

# сериализация объекта
data = {'name': 'Alice', 'age': 30}
serialized_data = pickle.dumps(data)

# запись сериализованных данных в файл
with open('data.pickle', 'wb') as file:
    file.write(serialized_data)

# десериализация объекта
with open('data.pickle', 'rb') as file:
    deserialized_data = pickle.loads(file.read())

print(deserialized_data)

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

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

Автор урока

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

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

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

  1. Структура данных deque в Python
  2. Построение графиков в Matplotlib
  3. Работа с collections в Python.
  4. Установка и использование Virtualenv
  5. Работа с модулем cmath
  6. Форматирование строк в Python
  7. Создание словаря через dict comprehension
  8. Генератор списка с условием if
  9. Логирование с Logzero
  10. Форматирование строк в Python
  11. Преобразование документов в PDF с помощью Spire.Office
  12. Метод __ilshift__ для битового сдвига влево
  13. Методы __repr__ и __str__ в Python
  14. Отслеживание выполнения программы с библиотекой tqdm
  15. Лямбда-функции для min/max
  16. Оператор is в Python
  17. Списковые включения в Python
  18. Переопределение метода __or__()
  19. Генераторы в Python
  20. Работа с itertools
  21. Удаление дубликатов из списка с помощью dict.fromkeys
  22. Генераторные выражения и islice.
  23. Вакансии в Nebius
  24. Открытие, чтение и закрытие файла
  25. Python reversed() vs срез[::-1]
  26. Инверсия списка и строки в Python
  27. Хранение данных с помощью dataclasses
  28. Подсказки типов в Python
  29. Переворот строки с использованием цикла
  30. ChainMap.new_child() — добавление нового словаря
  31. Python Аргументы по умолчанию
  32. Сортировка элементов с OrderedDict
  33. Определение объема памяти объекта
  34. Форматирование строк в Python.
  35. Анализ кода — Python
  36. Профилирование кода
  37. Метод __call__ в Python
  38. Обновление шаблона base.html
  39. Преобразование списка в словарь через генератор
  40. Замена символов в Python
  41. Работа с очередями в Python
  42. Виртуальное окружение Python
  43. Работа с временем в Python
  44. Работа с файлами в Python
  45. Декодирование строк в Python
  46. Хранение данных

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