Курс Python → Сериализация объектов в Python

Модуль pickle в Python предоставляет удобные инструменты для сериализации и десериализации объектов Python. Сериализация — это процесс преобразования объекта в последовательность байтов, которая может быть сохранена в файле или передана по сети. Десериализация — обратный процесс, когда последовательность байтов преобразуется обратно в объект.

В приведенном примере мы создаем объект data в виде словаря и используем функцию pickle.dumps для сериализации этого объекта в байтовую строку. Мы можем сохранить эту строку в файле или передать ее по сети. Затем, используя функцию pickle.loads, мы десериализуем байтовую строку обратно в объект и получаем исходный словарь data.

import pickle

data = {'key': 'value'}
serialized_data = pickle.dumps(data)

# Сохраняем serialized_data в файл или передаем по сети

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)  # Выведет: {'key': 'value'}

Использование модуля pickle удобно при необходимости сохранить сложные структуры данных Python или передать их между разными процессами. Однако, следует помнить о некоторых ограничениях, например, pickle не поддерживает сериализацию некоторых типов объектов, таких как файлы или сокеты.

При работе с модулем pickle важно обеспечить безопасность данных, так как десериализация объектов из ненадежных источников может привести к выполнению зловредного кода. Рекомендуется использовать pickle только для доверенных данных или обеспечивать проверку целостности данных перед их десериализацией.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с модулем os в Python
  2. Атрибуты класса и экземпляра в Python
  3. Многострочные комментарии в Python
  4. Операторы += в Python
  5. Работа с датой и временем в Python
  6. Работа с очередями в Python
  7. Создание списка через цикл
  8. Скрытие вывода данных
  9. Обработка данных в Python
  10. Функциональное программирование.
  11. Тест скорости набора текста на Python
  12. Работа с функцией next() в Python
  13. Enum в Python
  14. PUT запрос для обновления данных
  15. Сравнение неупорядоченных списков
  16. Итераторы с потерямиZIP
  17. Разделение строк методом split()
  18. Печать в одной строке
  19. Комментарии в Python
  20. Введение в PyTorch
  21. Справка по импортированным модулям
  22. Python Ellipsis использование
  23. Сортировка с помощью параметра key
  24. Распаковка значений в Python
  25. Ключевое слово global в Python
  26. Функция enumerate() — Python
  27. Установка Python3.7 и PIP
  28. Регулярные выражения в Python
  29. Комментарии в Python
  30. Python reversed() функция
  31. Лямбда-функции в Python
  32. Работа с collections в Python
  33. Генерация тестовых данных с factory_boy
  34. Разделение строки на пары ключ-значение.
  35. Функция product() из itertools
  36. Работа с аргументами командной строки в Python
  37. Переопределение метода
  38. Работа со стеком в Python
  39. Проверка условий: all и any
  40. Сортировка слиянием
  41. Синтаксис переменных цикла в Python
  42. Работа с множествами в Python
  43. Проверка условий в Python
  44. Порядок и длина множеств в Python
  45. Очистка входных данных

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