Курс 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. Синхронизация потоков с time.sleep()
  3. Подсказки типов в Python
  4. Сложение матриц в NumPy
  5. Основные операции с библиотекой Numpy
  6. Генерация ключей RSA
  7. Конвертация текстовых чисел с помощью Numerizer
  8. Тип CodeType в Python.
  9. Распаковка аргументов в Python
  10. Извлечение статей с newspaper3k
  11. Определение объема памяти объекта
  12. Метод ifloordiv для пользовательских классов
  13. Декораторы с аргументами
  14. Отправка HTTP-запросов в Python
  15. Обработка исключения UnboundLocalError
  16. Импортирование в Python
  17. Ограничение ресурсов в Python
  18. Оператор «моржа» (Walrus Operator)
  19. Повторение и перенос строки
  20. Замена атрибута в именованном кортеже
  21. Использование super() в Python
  22. Хеширование паролей с использованием salt
  23. Функции высшего порядка в Python
  24. Оптимизация памяти с __slots__
  25. Создание новых списков через list comprehensions
  26. Codecademy в Telegram
  27. Python: отсутствие точек с запятыми
  28. Списки в Python: синтаксис представления
  29. Функциональное программирование.
  30. Многострочные комментарии в Python
  31. Умножение строк и списков
  32. Форматирование строк в Python
  33. Генераторы в Python
  34. Работа с итераторами в Python
  35. Поиск самого частого элемента
  36. Дизассемблирование Python кода
  37. Подробная информация о %pinfo
  38. Пересечение списков с использованием множеств
  39. Переопределение оператора % для объектов
  40. Эффективная конкатенация строк в Python
  41. Копирование объектов в Python
  42. Перезагрузка оператора в Python
  43. Python: отличительная особенность — отступы
  44. Управление контекстом с помощью декоратора contextmanager
  45. Шаблоны Flask: условия и циклы
  46. Проверка класса объекта

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