Курс 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. Искажение имен в Python
  2. Сортировка элементов в Python
  3. Работа с collections в Python.
  4. Работа с OpenCV
  5. Преобразование символов с помощью map
  6. Работа с CSV файлами в Python
  7. Запуск асинхронной корутины
  8. JSON в Python: модуль, dump, dumps, load
  9. Оформление текста в консоли с TermColor
  10. Применение команды break
  11. Генераторы списков
  12. Вложенные генераторы в Python
  13. Обновление множества в Python
  14. Модуль os: работа с файлами и папками
  15. Метод hash в Python
  16. Разработка игры Pong с turtle
  17. Улучшенные подсказки для импорта в Python 3.12
  18. Форматирование данных с помощью pprint
  19. Псевдонимы в Python
  20. Обход словаря в Python
  21. Область видимости переменных
  22. Фильтрация списка чисел
  23. Создание именованных кортежей в Python
  24. Названия переменных
  25. Особенности ключей словаря в Python
  26. Удаление и повторная вставка ключа в OrderedDict
  27. Работа с областями видимости переменных
  28. Библиотека itertools: объединение списков
  29. Создание пустых функций и классов в Python
  30. Метод rename() для переименования файлов и каталогов
  31. Работа с GitHub в Telegram
  32. Работа с файлами в Python
  33. Управление асинхронными задачами на Python.
  34. Оператор объединения словарей
  35. Создание функций с произвольным количеством аргументов
  36. Работа с пользовательским вводом
  37. Копирование и вставка текста в Python
  38. Настройка вывода в Numpy
  39. Очистка данных с помощью pandas
  40. Numpy: разбиение массивов
  41. Установка и использование модуля «howdoi»
  42. Переменная Шредингера
  43. Сравнение объектов в Python
  44. Декораторы в Python
  45. Копирование файлов с shutil()
  46. Работа с датами в Python
  47. Установка и использование Python-dateutil

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