Курс 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. Настройка нарезки списков
  2. Разделение строки с помощью split()
  3. Проверка переменных окружения в Python
  4. Работа с комплексными числами в Python
  5. Виртуальное окружение Python
  6. Цикл for в Python
  7. Работа с базами данных SQLite
  8. Python enumerate() для работы с индексами
  9. Функция zip() — объединение последовательностей
  10. Работа с f-строками 2.0
  11. Декоратор для группы пользователей в Django
  12. Создание комплексных чисел
  13. Сравнение строк в Python
  14. Декодирование строк в Python
  15. Enum в Python: создание и использование перечислений
  16. Переопределение метода sub
  17. Транспонирование 2D-массива с помощью zip
  18. Форматирование вывода с F-строками
  19. Склеивание строк без циклов
  20. Отображение HTML кода в Python
  21. Создание функций с произвольным количеством аргументов
  22. Закрытие файла в Python
  23. Метод count() для списка
  24. Нахождение разницы между списками в Python
  25. Удаление дубликатов в pandas
  26. Асинхронное программирование с asyncio
  27. Логические значения в Python
  28. Очистка строки в Python
  29. Использование *args
  30. Определение функций с необязательными аргументами
  31. Функция enumerate() — Python
  32. Форматирование строк в Python
  33. Оптимизация памяти с __slots__
  34. Итерация по коллекции в Python
  35. Разделение строки с помощью re.split()
  36. Обмен переменными в Jupyter
  37. Быстрый поиск кода
  38. Модуль Antigravity в Python 3
  39. GitHub в Telegram: подписка на уведомления
  40. Форматирование вывода списков
  41. Обработка ошибок в JSON данных
  42. Создание треугольника Паскаля
  43. Переопределение метода len
  44. Участие в LP стейкинге Waves

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