Курс 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. Сортировка HTML по CSS-селектору
  3. Метод __imod__ для Python
  4. Конкатенация строк с методом join()
  5. Деление в Python
  6. Извлечение данных из JSON
  7. Отображение графиков в Jupyter с Matplotlib
  8. Метод ifloordiv для пользовательских классов
  9. Измерение времени выполнения кода
  10. Операции с матрицами в Python
  11. Подсказки типов в Python
  12. Переворот списка в Python
  13. Структура строк в Python
  14. Бинарный поиск
  15. Улучшенные подсказки для импорта в Python 3.12
  16. Декораторы в Python
  17. Обход словаря в Python
  18. Установка и использование Python-dateutil
  19. Работа с NumPy.linalg
  20. Генерация строк с .join()
  21. Сортировка с параметром key
  22. Описание скриптов в README
  23. Хешируемые ключи в Python
  24. Удаление файлов с shutil.os.remove()
  25. Проверка индексов коллекции
  26. Получение имени функции с помощью inspect
  27. Поиск повторов в списке
  28. Декоратор для группы пользователей в Django
  29. Работа с WindowsPath()
  30. Декораторы в Python
  31. Обрезка изображения с Pillow
  32. Работа с контекстными переменными
  33. Форматирование строк в Python.
  34. Функции map, filter, reduce
  35. Автоматизация с Python
  36. Построение графиков в терминале с bashplotlib
  37. Делегирование в Python
  38. Работа с модулем random
  39. Транспонирование матрицы в Python
  40. Анализ текста на русском языке с помощью Pymystem3
  41. Основные операции с библиотекой Numpy
  42. Вывод переменной и строки в Python
  43. Возврат нескольких значений
  44. Оператор «моржа» (Walrus Operator)
  45. Повторение элементов в Python

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