Курс 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. Удаление ключа из словаря
  2. Автоматизация с Python
  3. Статическая типизация в Python
  4. Проверка версии Python
  5. Поиск с помощью регулярных выражений
  6. Удаление специальных символов
  7. Создание GUI на Tkinter
  8. Enum в Python: создание и использование перечислений
  9. Протокол управления контекстом
  10. Взаимодействие с внешними процессами в Python
  11. Работа с NumPy массивами
  12. Декораторы в Python
  13. Работа с argparse
  14. Поиск наиболее частого элемента списке
  15. Обработка исключения UnboundLocalError
  16. Исправление ошибки NameError
  17. enumerate() в Python для работы с индексами
  18. Конкатенация списков в Python
  19. Форматирование заголовков в Python
  20. Гибкие функции Python
  21. Функция zip() в Python
  22. JSON-esque в Python
  23. Присоединение элементов коллекции
  24. Получение срезов итераторов
  25. Функция enumerate() — Python
  26. Синхронизация потоков с time.sleep()
  27. Аргументы *args и **kwargs
  28. Проблемы с именами переменных
  29. Метод __imod__ для Python
  30. Генерация QR-кодов с Python
  31. Настройка шрифта и цвета в Tkinter
  32. Переопределение метода delitem в Python
  33. Методы classmethod и staticmethod
  34. Выражения-генераторы в Python
  35. Библиотека wikipedia для Python
  36. Генераторы в Python
  37. Работа с дробями в Python
  38. Обновление данных через PUT запрос
  39. Сортировка и разворот списка
  40. Срез в Python
  41. Оптимизация интернирования строк
  42. Работа с JSON данными в Python
  43. Закрытие файла в Python
  44. Проверка на истинность объектов в Python
  45. Отправка HTTP-запросов с User-Agent
  46. Оператор walrus в Python

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