Курс 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. Секреты Python
  3. Установка переменной среды в Python
  4. Метод title() в Python
  5. Генераторы в Python
  6. Утечки переменных цикла в Python 3.x
  7. Логирование в Python
  8. Создание директории в Python
  9. Конкатенация строк в Python
  10. Транспонирование матрицы
  11. Анонимные функции в Python
  12. CSV строка разделение в Python
  13. Основы работы с базами данных в Python
  14. Фильтрация данных в Python.
  15. Многоточие в Python
  16. Конкатенация строковых литералов
  17. Создание списка через цикл
  18. Модуль functools в Python
  19. Метод rmatmul для обратного матричного умножения
  20. Введение в PyTorch
  21. Распаковка аргументов в Python
  22. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  23. Удаление элементов во время итерации
  24. Проверка списка: any() и all()
  25. Решение переменной Шредингера
  26. Работа с модулем os в Python
  27. Создание словарей и множеств в Python.
  28. Преобразование списка в словарь через генератор
  29. Подсчет элементов в Python
  30. Округление чисел с помощью round
  31. Операторы Splat и splatty-splat
  32. Работа с кортежами в Python
  33. Группировка элементов Python
  34. Потоковый ввод в Python
  35. Преобразование чисел в Python
  36. JSON-esque в Python
  37. Замена подстроки
  38. Повторение и перенос строки
  39. Порядок и длина множеств в Python
  40. Удаление элементов из списка в Python
  41. Преобразование вложенного списка
  42. Структура данных deque в Python
  43. Python: библиотеки и функции
  44. Объединение коллекций в Python
  45. Сохранение Unicode в JSON
  46. Оптимизация параметров в Python

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