Курс 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. Определение имен функций
  3. Метод сравнения объектов в Python
  4. Выборка чисел
  5. Генераторы в Python
  6. Установка Git и AWS CLI
  7. Создание коллекций из выражения-генератора
  8. Метод join() для объединения элементов
  9. Анонимные функции в Python
  10. Получение идентификатора объекта в памяти
  11. Визуализация пропусков данных
  12. Функции высшего порядка в Python
  13. Создание списка через цикл
  14. Изменение списка срезами
  15. Метод invert для побитового отрицания
  16. Замена атрибута в именованном кортеже
  17. Итераторы с потерямиZIP
  18. Генерация UUID в Python
  19. Измерение времени выполнения кода
  20. Условное добавление элементов в список
  21. Оператор Walrus: правильное использование
  22. Метод join() для объединения элементов строки
  23. Поиск индекса элемента
  24. Функции any() и all() в Python
  25. Комментарии в Python
  26. Изменение регистра данных
  27. Python: отсутствие точек с запятыми
  28. Форматирование строк с помощью f-строк
  29. Удаление файлов и папок в Python
  30. Именование переменных в Python
  31. Декораторы в Python
  32. Получение срезов итераторов
  33. Декораторы с аргументами в Python
  34. Область видимости переменных
  35. Фильтрация списка чисел
  36. Фильтрация последовательности
  37. Проверка памяти объекта
  38. Частичное совпадение пользовательского ввода в Python 3.10
  39. Метод __float__ в Python
  40. Избегайте пустого списка
  41. Искажение имен в Python
  42. Поиск индексов подстроки
  43. Сравнение строк в Python
  44. Запуск внешнего кода в Jupyter
  45. Функция rsplit() в Python
  46. Комментарии в Python.

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