Курс 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. Генераторы списков
  5. Функциональное программирование.
  6. Присоединение элементов коллекции
  7. Отображение HTML кода в Python
  8. Генерация чисел с range()
  9. Объединение списков с использованием itertools.chain
  10. Генерация случайных данных в NumPy
  11. Работа с срезами в Numpy
  12. Метод __ilshift__ для битового сдвига влево
  13. Функции range() в Python
  14. Нарезка списков в Python
  15. Измерение времени выполнения кода
  16. Параллельные вычисления в Python
  17. Декораторы в Python
  18. Декораторы с аргументами
  19. Получение локальных переменных в Python
  20. Отношения подклассов в Python
  21. Списки: объединение, изменение
  22. Python reversed() vs срез[::-1]
  23. Декораторы в Python
  24. Секреты Python
  25. Измерение времени выполнения
  26. Решатель судоку на Python с pygame
  27. Управление контекстом выполнения кода
  28. Блок try…finally в Python
  29. Поток данных в Python
  30. Функция print() — вывод информации
  31. Проверка дублей в списке.
  32. Преобразование генераторов в циклы
  33. Построение графиков в Matplotlib
  34. Функция zip() в Python
  35. Разделение строки с помощью re.split()
  36. Получение списка кортежей из словаря
  37. Получение текущей даты и времени с помощью datetime
  38. Создание веб-приложения с Flask
  39. Управление виртуальными средами в Python
  40. Документация функции help() в Python
  41. Работа с изменяемыми списками
  42. Разделение строки с регулярными выражениями
  43. Поиск с помощью регулярных выражений
  44. Управление импортом в Python
  45. Применение функции к списку

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