Курс 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. Потоковый ввод в Python
  2. Сравнение def и lambda функций в Python
  3. Работа с словарями в Python
  4. Профилирование кода на Python
  5. Цикл for в Python
  6. Операции с кортежами
  7. Переменные класса и экземпляра
  8. 9 уловок для чистого кода
  9. Объединение итераторов
  10. Использование super() в Python
  11. Подсказки при вводе данных в Python
  12. Разделение списка на гнппы
  13. Управление пакетами с pip
  14. Транспонирование матрицы
  15. Просмотр атрибутов и методов класса
  16. Инициализация структур данных
  17. Декораторы в Python
  18. Утечки переменных цикла в Python 3.x
  19. Создание уникального множества
  20. Метод Enumerate() для списков
  21. Инверсия списков и строк в Python
  22. Загрузка постов Instagram
  23. Присвоение и ссылки
  24. Оптимизация интернирования строк
  25. Управление мышью и клавиатурой с Pyautogui
  26. Отладка утечек памяти в Python
  27. Глубокое копирование объектов
  28. Генератор списка с условием if
  29. Progress с библиотекой tqdm
  30. Вычисление фазы комплексного числа
  31. Множественное назначение в Python
  32. Конструктор в Python
  33. Оптимизация гиперпараметров с Scikit Optimize
  34. Циклы в Python
  35. Python 3.12: Псевдонимы типов
  36. Функции-генераторы в Python
  37. Метод Event.wait() в Python
  38. Тестирование функции сложения
  39. Изменение регистра данных
  40. Декораторы в Python
  41. Объединение словарей в Python 3.5+
  42. HTTP-запросы с библиотекой Requests
  43. Замена атрибута в именованном кортеже

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