Курс 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. Фильтрация последовательности
  2. Ограничение ресурсов в Python
  3. Удаление пробелов методом translate()
  4. Преобразование чисел в восьмеричную строку
  5. Вычисление фазы комплексного числа
  6. Управление контекстом выполнения
  7. Counter() — подсчет элементов
  8. Метод index() в Python
  9. Сортировка элементов с OrderedDict
  10. Преобразование регистра строк
  11. Присвоение значений переменным в Python
  12. Форматирование строк с % в Python
  13. Генераторы в Python
  14. Оператор объединения словарей
  15. Измерение времени выполнения кода
  16. Капитализация строк
  17. Метод classmethod
  18. Python Enum Weekday Usage
  19. Библиотека sh: удобные команды терминала
  20. Извлечение данных из JSON
  21. Python: библиотеки и функции
  22. Декораторы в Python
  23. Использование super() в Python
  24. Модуль future Python
  25. Лямбда-функции для min/max
  26. Запуск асинхронной корутины
  27. Объединение словарей в Python
  28. Python itertools combinations() — группировка элементов
  29. Метод join() для объединения строк
  30. HTTP-запросы с библиотекой Requests
  31. Проверка однородности элементов списка
  32. Нахождение пересечения множеств
  33. Управление асинхронными задачами с помощью Semaphore
  34. Измерение времени выполнения с помощью time
  35. Зарезервированные слова в Python
  36. Операторы Splat и splatty-splat
  37. Синтаксис переменных цикла в Python
  38. Concrete Paths в Python
  39. Скачать видео с YouTube
  40. Форматирование объектов с модулем pprint
  41. Переопределение метода __or__()

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