Курс 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. Создание даты из строки ISO
  2. Операции со строками в Python
  3. Работа с CSV файлами в Python
  4. Библиотека funcy: удобные утилиты
  5. Возврат нескольких значений
  6. Аргументы *args и **kwargs
  7. Python reversed() vs срез[::-1]
  8. Метод округления чисел
  9. Декораторы с @wraps
  10. Оператор «or» в Python
  11. Применение промокода в Много лосося
  12. Методы сравнения множеств
  13. Генерация QR-кодов с Python
  14. Документация функции help() в Python
  15. Эффективная конкатенация строк с использованием join()
  16. Хэш-функции и метод цепочек
  17. Python reversed() функция
  18. globals и locals
  19. Фильтрация списков с itertools
  20. Создание спинбокса в tkinter
  21. Синтаксис переменных цикла в Python
  22. Частичное совпадение ввода
  23. Считывание бинарного файла в Python
  24. Объединение словарей в Python
  25. Проектирование Singleton с метаклассом
  26. Создание новых списков в Python
  27. Метод get для словаря
  28. Monkey Patching в Python
  29. Генераторы в Python
  30. Отправка POST-запроса в REST API
  31. Генераторы данных
  32. Загрузка постов Instagram
  33. Pillow: работа с изображениями
  34. Основные операции с Numpy
  35. Измерение времени выполнения кода с помощью time
  36. Форматирование данных с помощью pprint
  37. Преобразование PowerPoint в PDF.
  38. Оптимизация строк в Python
  39. Метод __irshift__ для побитового сдвига вправо
  40. Возврат значений из генератора
  41. Создание объекта времени
  42. Оператор continue в Python
  43. Цикл for в Python
  44. Объединение словарей в Python 3.5+
  45. Модуль xkcd: загрузка комиксов
  46. Функция reduce() из модуля functools
  47. Генератор бросков кубиков
  48. Уникальные значения из списка

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