Курс 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
- Сортировка HTML по CSS-селектору
- Метод __imod__ для Python
- Конкатенация строк с методом join()
- Деление в Python
- Извлечение данных из JSON
- Отображение графиков в Jupyter с Matplotlib
- Метод ifloordiv для пользовательских классов
- Измерение времени выполнения кода
- Операции с матрицами в Python
- Подсказки типов в Python
- Переворот списка в Python
- Структура строк в Python
- Бинарный поиск
- Улучшенные подсказки для импорта в Python 3.12
- Декораторы в Python
- Обход словаря в Python
- Установка и использование Python-dateutil
- Работа с NumPy.linalg
- Генерация строк с .join()
- Сортировка с параметром key
- Описание скриптов в README
- Хешируемые ключи в Python
- Удаление файлов с shutil.os.remove()
- Проверка индексов коллекции
- Получение имени функции с помощью inspect
- Поиск повторов в списке
- Декоратор для группы пользователей в Django
- Работа с WindowsPath()
- Декораторы в Python
- Обрезка изображения с Pillow
- Работа с контекстными переменными
- Форматирование строк в Python.
- Функции map, filter, reduce
- Автоматизация с Python
- Построение графиков в терминале с bashplotlib
- Делегирование в Python
- Работа с модулем random
- Транспонирование матрицы в Python
- Анализ текста на русском языке с помощью Pymystem3
- Основные операции с библиотекой Numpy
- Вывод переменной и строки в Python
- Возврат нескольких значений
- Оператор «моржа» (Walrus Operator)
- Повторение элементов в Python















