Курс 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. Работа с аргументами командной строки в Python
  3. ChainMap.new_child() — добавление нового словаря
  4. Списковое включение в Python
  5. Операторы объединения в Python 3.9
  6. Блок else в обработке исключений
  7. Идентификатор объекта в Python
  8. Оформление кода на Python
  9. Установка User-Agent в Python
  10. Оптимизация гиперпараметров в Python
  11. Объединение строк с помощью метода join
  12. Транспонирование 2D-массива с помощью zip
  13. Контроль точности вывода чисел
  14. Замер времени выполнения кода
  15. Оператор «and» в Python
  16. Управление асинхронными задачами с помощью Semaphore
  17. Создание итератора
  18. Отрицательные индексы списков в Python
  19. Типы возвращаемых значений в Python
  20. Получение значений из словарей
  21. Метод invert для побитового отрицания
  22. Обратное распространение ошибки
  23. Комментарии в Python.
  24. Оператор in для Python
  25. Удаление файлов и папок в Python
  26. Декораторы для регистрации функций
  27. Определение объема памяти объекта
  28. Работа со строками в Python
  29. Многострочные строки в Python
  30. Группы исключений в Python
  31. Перевернуть список в Python
  32. Оператор «not» в Python
  33. Синтаксис переменных цикла в Python
  34. Кортеж в Python: создание, доступ, изменение
  35. Склеивание строк через метод join()
  36. Проблемы с dict в Python
  37. Умножение строк и списков
  38. Утечки переменных цикла в Python 3.x
  39. Простой калькулятор Python
  40. Списки в Python
  41. Метод join() для объединения строк
  42. Генераторы в Python
  43. Декоратор проверки активности
  44. Декораторы в Python
  45. Оператор continue в Python
  46. Декоратор total_ordering для класса Point
  47. Преобразование PowerPoint в PDF.

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