Курс 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"
- Фильтрация последовательности
- Ограничение ресурсов в Python
- Удаление пробелов методом translate()
- Преобразование чисел в восьмеричную строку
- Вычисление фазы комплексного числа
- Управление контекстом выполнения
- Counter() — подсчет элементов
- Метод index() в Python
- Сортировка элементов с OrderedDict
- Преобразование регистра строк
- Присвоение значений переменным в Python
- Форматирование строк с % в Python
- Генераторы в Python
- Оператор объединения словарей
- Измерение времени выполнения кода
- Капитализация строк
- Метод classmethod
- Python Enum Weekday Usage
- Библиотека sh: удобные команды терминала
- Извлечение данных из JSON
- Python: библиотеки и функции
- Декораторы в Python
- Использование super() в Python
- Модуль future Python
- Лямбда-функции для min/max
- Запуск асинхронной корутины
- Объединение словарей в Python
- Python itertools combinations() — группировка элементов
- Метод join() для объединения строк
- HTTP-запросы с библиотекой Requests
- Проверка однородности элементов списка
- Нахождение пересечения множеств
- Управление асинхронными задачами с помощью Semaphore
- Измерение времени выполнения с помощью time
- Зарезервированные слова в Python
- Операторы Splat и splatty-splat
- Синтаксис переменных цикла в Python
- Concrete Paths в Python
- Скачать видео с YouTube
- Форматирование объектов с модулем pprint
- Переопределение метода __or__()















