Курс 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. Сравнение строк в Python
  4. Сортировка с помощью параметра key
  5. Логирование с Logzero
  6. Подсчет элементов с помощью Counter
  7. Удаление элементов по срезу
  8. Получение списка файлов в директории с использованием os
  9. Метод join() для объединения элементов строки
  10. Работа с очередями в Python
  11. Использование функции enumerate()
  12. Метод __ilshift__ для битового сдвига влево
  13. Модуль xkcd: загрузка комиксов
  14. Справка по импортированным модулям
  15. Встраивание HTML в Jupyter Notebook
  16. Компиляция регулярных выражений
  17. Concrete Paths в Python
  18. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  19. Методы сравнения множеств
  20. Создание объекта времени
  21. Установка переменной среды в Python
  22. Непрерывная проверка в Python
  23. Python Ellipsis использование
  24. Создание новых списков в Python
  25. Доступ к локальным переменным
  26. Декораторы в Python
  27. Методы list в Python
  28. Сравнение объектов в Python
  29. Метод ipow для возведения в степень
  30. Оптимизация гиперпараметров в Python
  31. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  32. Исправление ошибки NameError
  33. Работа с набором данных CIFAR10 в PyTorch
  34. Генераторы в Python
  35. Итераторы в Python
  36. Деление в Python
  37. Транспонирование 2D-массива с помощью zip
  38. Подчеркивание в REPL
  39. Генератор чисел Фибоначчи
  40. Хранение переменных в словаре.
  41. Обработка аргументов Python
  42. Отправка POST запроса на сервер.
  43. Автоматизация действий с Pyautogui
  44. Срезы в Python
  45. Импорт объектов из модулей
  46. Профилирование с cProfile
  47. Методы Python для работы с данными
  48. Удаление элементов из списка в Python
  49. Создание панели меню Tkinter

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