Курс 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. Встраивание HTML в Jupyter Notebook
  4. Перехват исключений в Python
  5. Объединение списков в Python
  6. Фильтрация списка чисел
  7. Инициализация переменных
  8. Пересечение списков с использованием множеств
  9. Python: изменяемые и неизменяемые коллекции
  10. Декоратор Ajax required
  11. Синтаксис переменных цикла в Python
  12. Удаление элементов из списка
  13. Резервирование символов в Python
  14. Работа с пользовательским вводом
  15. Бесконечные списки в Python
  16. Анализ кода — Python
  17. Изменение элемента списка
  18. Атрибуты класса и экземпляра в Python
  19. Вычисление времени выполнения
  20. Генерация UUID в Python
  21. Очистка данных с помощью pandas
  22. Наследование в программировании
  23. Срез в Python
  24. Анализ текста на русском языке с помощью Pymystem3
  25. Оператор walrus в Python
  26. Генераторы в Python
  27. Форматирование строк в Python
  28. Декораторы в Python
  29. Копирование объектов в Python
  30. Метод difference_update() — разность множеств
  31. Работа с itertools
  32. Объединение словарей в Python
  33. Функция reduce() из модуля functools
  34. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  35. Контекстный менеджер в Python
  36. Поиск наиболее частого элемента в списке
  37. Преобразование списков в словарь
  38. Работа с контекстным менеджером Pool
  39. Оператор обр. импликации
  40. Метод setdefault() в Python
  41. Блок else в обработке исключений
  42. Библиотека itertools: объединение списков
  43. Преобразование числа в восьмеричную строку
  44. Magic Commands — улучшение работы с Python
  45. Лямбда-функции в defaultdict
  46. Перемешивание списка с shuffle()

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