Курс 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. Метод join() для объединения элементов строки
  2. Выражения-генераторы в Python
  3. Оператор объединения словарей
  4. Фильтрация списка чисел
  5. Установка и использование Python-dateutil
  6. Глубокое копирование объектов
  7. Вложенные циклы в Python
  8. Оператор * в Python
  9. Поиск HTML-элементов с BeautifulSoup
  10. Подсчет элементов в Python
  11. Функция divmod() в Python
  12. Кортеж в Python: создание и использование
  13. Генерация резюме в Gensim
  14. Оптимизация сравнения в Python
  15. Избегайте двойного подчеркивания
  16. Класс-оболочка для словарей
  17. Установка Python3.7 и PIP
  18. Разность множеств
  19. Создание словаря через dict comprehension
  20. Создание веб-приложения с Flask
  21. Функция enumerate() — Python
  22. Многострочные строки в Python
  23. Python defaultdict добавление ключа
  24. Concrete Paths в Python
  25. Мощь вложенных функций в Python
  26. Поиск шаблона в начале строки
  27. Функция pow() — возвести число в степень
  28. Отображение HTML кода в Python
  29. Метод get() в Python
  30. Работа с zip-архивами в Python
  31. Конвертация текстовых чисел с помощью Numerizer
  32. Метод pos в Python
  33. Именованные срезы в Python
  34. Работа с enumerate()
  35. Работа с областями видимости переменных
  36. Очистка данных с Pandas
  37. Глобальные переменные в Python
  38. Работа с библиотекой xkcd
  39. Python Тесты и Гайды
  40. JSON в Python: модуль, dump, dumps, load
  41. Измерение времени выполнения кода
  42. Работа с набором данных CIFAR10 в PyTorch
  43. Декораторы в Python
  44. Работа с геоданными с помощью geopy
  45. Функции в Python

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