Курс 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. Модуль sys: основы
  3. Методы __repr__ и __str__ в Python
  4. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  5. Эффективная конкатенация строк с использованием join()
  6. Принципы Zen of Python
  7. Метод enumerate() в Python
  8. История Python
  9. Красивый вывод списка
  10. Обмен данными с asyncio.Queue
  11. Работа с асинхронными задачами в Python
  12. Модуль pprint
  13. Оператор == в Python
  14. Возврат нескольких значений
  15. Ускорение выполнения кода в Python
  16. Оценка выражений генератора в Python
  17. Преобразование range в итератор
  18. Создание коллекций из выражения-генератора
  19. Разделение строки на подстроки в Python
  20. Игра Виселица на Python
  21. Генераторы в Python
  22. Создание словаря через dict comprehension
  23. Распаковка аргументов в Python
  24. Оптимизация памяти с помощью __slots__
  25. Решатель судоку на Python с pygame
  26. Объединение строк с помощью метода join
  27. Принципы программирования
  28. Работа с модулем os в Python
  29. Отступы в Python
  30. Подсчет количества элементов в списке
  31. Поиск подстроки в строке
  32. Подробная информация о %pinfo
  33. Генерация случайных данных в NumPy
  34. Объединение списков в Python.
  35. Функция zip() в Python
  36. Автоматизация действий с Pyautogui
  37. Расчет времени выполнения кода
  38. Python: Фильтрация списков с помощью filter()
  39. Работа с argparse
  40. Работа с аргументами командной строки
  41. Работа с WindowsPath()
  42. Оформление кода на Python
  43. Официальный канал Python в Telegram
  44. Равенство и идентичность в Python

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