Курс 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. Принципы программирования
  3. Логирование в Python
  4. Компиляция регулярных выражений
  5. Перегрузка операторов в Python
  6. Передача словаря через **kwargs
  7. Метод join() для объединения строк
  8. Генерация строк с .join()
  9. Атрибуты массивов в Numpy
  10. Многострочные комментарии в Python
  11. Методы HTTP запросов в Flask
  12. Функция print() — вывод информации
  13. Операторы увеличения и уменьшения переменной
  14. Colorama: окрашивание текста в Python
  15. Тестирование модели в PyTorch
  16. Установка Git и AWS CLI
  17. Создание объекта timedelta
  18. Команда %dhist — список посещенных каталогов
  19. Конкатенация строк с join() в Python
  20. Magic Commands — улучшение работы с Python
  21. Объединение словарей в Python
  22. Разделение строки в Python
  23. Создание обратного итератора
  24. Преобразование числа в восьмеричную строку
  25. Итераторы в Python
  26. Методы в Python
  27. Управление памятью в numpy.
  28. Класс UserDict: дополнительная функциональность
  29. Очистка строки в Python
  30. Абстракции словарей и множеств в Python
  31. Форматирование вывода списков
  32. Нахождение пересечения множеств
  33. Уникальность ключей в словаре
  34. Особенности ключей словаря в Python
  35. Проверка типа данных
  36. Обработка ошибок ввода данных
  37. Измерение времени выполнения кода с помощью time
  38. kwargs в Python
  39. Логирование с Logzero
  40. Инверсия списков и строк в Python
  41. Транспонирование 2D-массива с помощью zip
  42. Работа с CSV файлами
  43. Работа со строками в Python
  44. Сохранение и загрузка модели в PyTorch
  45. Оператор assert в Python
  46. Метод rsub в Python: расширение функциональности вычитания

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