Курс 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. Отслеживание прогресса с tqdm
  2. Генераторы в Python
  3. Делегирование в Python
  4. Метод rpow в Python
  5. Использование type hints
  6. Конструктор в Python
  7. Работа с пользовательским вводом
  8. Работа с Enum в Python3.
  9. Вычисление фазы комплексного числа
  10. Инверсия списков и строк в Python
  11. SciPy: широкий функционал для математических операций
  12. Подписка на @SelectelNews
  13. Поиск наиболее частого элемента
  14. Извлечение новостей с помощью newspaper3k
  15. Обработка исключений
  16. Безопасные SQL-запросы в Python 3.11
  17. Экспорт функций в Python
  18. Расчет времени выполнения
  19. Операции с числами в Python
  20. Группировка элементов Python
  21. Работа с байтовыми строками в Python
  22. Отрицательные индексы списков
  23. Порядок операций в Python
  24. Сглаживание списка
  25. Декораторы в Python
  26. Активация Matplotlib в Jupyter
  27. Проверка файла .py на синтаксис.
  28. Оценка точности модели
  29. Применение функции к элементам списка
  30. Удаление дубликатов из списка с помощью dict.fromkeys
  31. globals и locals
  32. Шаблоны и наследование в Flask
  33. Работа с геоданными с помощью geopy
  34. Получение ID процесса
  35. Генерация случайных чисел в Python
  36. Статическая типизация в Python
  37. Добавление вложенных списков
  38. Numpy: использование Ellipsis
  39. Создание вложенного генератора
  40. Преобразование чисел в восьмеричную строку
  41. Создание обратного итератора
  42. Разница между датами
  43. Взаимодействие с внешними процессами в Python
  44. Измерение времени выполнения кода с помощью time
  45. Генераторы в Python

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