Курс Python → Сериализация и десериализация объектов

Модуль pickle в Python предоставляет удобный способ сериализации и десериализации объектов. Сериализация — это процесс преобразования объекта Python в последовательность байтов, которая может быть сохранена или передана через сеть. Десериализация, с другой стороны, — это процесс обратного преобразования последовательности байтов в объект Python.

Основными методами модуля pickle являются pickle.dumps() и pickle.loads(). Метод pickle.dumps() принимает объект Python и возвращает его сериализованное представление в виде строки байтов. Метод pickle.loads(), наоборот, принимает сериализованное представление объекта и возвращает его как объект Python.

Пример использования модуля pickle:


import pickle

# сериализация объекта
data = {'name': 'Alice', 'age': 30}
serialized_data = pickle.dumps(data)

# запись сериализованных данных в файл
with open('data.pickle', 'wb') as file:
    file.write(serialized_data)

# десериализация объекта
with open('data.pickle', 'rb') as file:
    deserialized_data = pickle.loads(file.read())

print(deserialized_data)

Модуль pickle также поддерживает сериализацию пользовательских классов и функций. Однако, при использовании pickle важно помнить о потенциальных уязвимостях безопасности, связанных с десериализацией ненадежных данных. Поэтому рекомендуется быть осторожным при загрузке данных из ненадежных источников.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. IPython и Jupyter Notebook: руководство
  2. Векторизация в Python с NumPy.
  3. Генераторы списков
  4. Моржовый оператор в Python 3.8
  5. Управление ресурсами с контекстными менеджерами
  6. Форматирование строк в Python
  7. Обработка данных в Python
  8. Обработка ошибок ввода данных
  9. Работа со строками
  10. Преобразование строк в числа в Python
  11. Инверсия списков и строк в Python
  12. Оптимизация памяти с __slots__
  13. Присвоение и ссылки
  14. kwargs в Python
  15. Ввод нескольких значений
  16. Комплексные числа в Python
  17. Навыки Python: строки, типы данных
  18. Проверка класса объекта
  19. Функции в одну строку
  20. Создание объекта timedelta
  21. Разделение строки с регулярными выражениями
  22. Оптимизация строк в Python
  23. Изменение списка срезом
  24. Работа с Path в Python
  25. Оценка выражений генератора в Python
  26. Удаление дубликатов из списка
  27. F-строки в Python
  28. Функции map, filter и reduce
  29. Операции с комплексными числами
  30. Парсинг веб-страниц с Beautiful Soup
  31. Создание новых списков через list comprehensions
  32. Декораторы в Python
  33. Отрицательные индексы списков в Python
  34. Расчет времени выполнения
  35. Работа с CSV файлами в Python
  36. Преобразование объекта в строку
  37. Генераторы в Python
  38. Символ подчеркивания в Python
  39. Метод splitlines() для разделения строк
  40. Работа со временем в Python
  41. Кортеж в Python: создание, доступ, изменение
  42. Обучение модели с указанием эпох
  43. Работа с файлами в Python
  44. Форматирование строк в Python
  45. Monkey Patching в Python
  46. Вставка переменных в шаблоны Flask
  47. Объединение объектов в Python

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