Курс 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. Динамическая типизация в Python
  2. globals и locals
  3. Анализ кода — Python
  4. Генерация случайных чисел в Python
  5. Подсчет количества элементов в списке
  6. Преобразование числа в восьмеричную строку
  7. Оператор «or» в Python
  8. Работа с датами в Python
  9. Расчет времени выполнения кода
  10. Использование метода lower()
  11. Многострочные строки в Python
  12. Сериализация данных в JSON с помощью json.dumps
  13. Явный импорт переменных
  14. Удаление дубликатов с помощью множеств
  15. Очистка списка от False, None, 0, «»
  16. Метод title() в Python
  17. Обработка исключений в Python
  18. Инверсия списка/строки в Python
  19. Библиотека Chartify: руководство
  20. Логические операторы в Python
  21. Работа с индексами списков
  22. Типы возвращаемых значений в Python
  23. Сравнение объектов в Python
  24. Многопоточность и асинхронное программирование в Python
  25. Кортежи в Python: особенности и преимущества
  26. Замеры производительности в Python
  27. Замена атрибута в именованном кортеже
  28. Счетчик в Python: most_common()
  29. Создание панели меню Tkinter
  30. Генерация QR-кодов с библиотекой qrcode
  31. Работа с типами данных в Python с помощью pydantic.
  32. Создание новых списков через list comprehensions
  33. Управление виртуальными окружениями в Python
  34. Копирование и вставка текста в Python
  35. Удаление файлов и папок в Python
  36. Определение объема памяти объекта
  37. Операторы += в Python
  38. Закрытие файла в Python
  39. Оператор walrus в Python
  40. Инверсия списков и строк в Python
  41. Функция all() в Python
  42. Переворот последовательности
  43. Метод lt для сортировки объектов
  44. PEP-401: оператор
  45. Управление User-Agent в Python
  46. Создание списка через итерацию

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