Курс 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. Работа с URL-адресами в Python
  3. Нахождение отличий в списках
  4. Экранирование символов в Python
  5. f-строки в формате строк
  6. Обмен переменными в Jupyter
  7. Работа с argparse
  8. Динамическая типизация в Python
  9. Уникальность ключей в словаре
  10. Использование super() в Python
  11. Игра Виселица на Python
  12. Метод add для класса Vector
  13. Поиск самого частого элемента
  14. Сравнение неупорядоченных списков
  15. Непрерывная проверка в Python
  16. Создание новых функций через partial
  17. Python 3.12: переиспользование кавычек
  18. Concrete Paths — метод .with_suffix()
  19. Работа с кортежами в Python
  20. Работа со слайсами
  21. Переопределение метода divmod
  22. Хранение данных
  23. Инициализация объекта
  24. Переопределение метода __lshift__
  25. Создание OrderedDict
  26. Перебор элементов списка в Python
  27. Настройка Cron
  28. Копирование и вставка текста в Python
  29. Удаление пробелов методом translate()
  30. Перемещение и удаление файлов в Python
  31. Тестирование с responses
  32. Метод radd для пользовательских чисел
  33. inspect в Python: анализ кода
  34. Генератор бросков кубиков
  35. Оператор walrus в Python
  36. Форматирование объектов с модулем pprint
  37. Чтение бинарного файла в Python.
  38. Работа с модулем random
  39. Работа со строками
  40. Управление браузером с Selenium
  41. Асинхронное программирование с asyncio
  42. None в Python: использование и особенности
  43. Иерархия классов в Python
  44. Многоточие в Python
  45. Принципы SRP и OCP
  46. Библиотека itertools: объединение списков

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