Курс 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"
- Создание даты из строки ISO
- Операции со строками в Python
- Работа с CSV файлами в Python
- Библиотека funcy: удобные утилиты
- Возврат нескольких значений
- Аргументы *args и **kwargs
- Python reversed() vs срез[::-1]
- Метод округления чисел
- Декораторы с @wraps
- Оператор «or» в Python
- Применение промокода в Много лосося
- Методы сравнения множеств
- Генерация QR-кодов с Python
- Документация функции help() в Python
- Эффективная конкатенация строк с использованием join()
- Хэш-функции и метод цепочек
- Python reversed() функция
- globals и locals
- Фильтрация списков с itertools
- Создание спинбокса в tkinter
- Синтаксис переменных цикла в Python
- Частичное совпадение ввода
- Считывание бинарного файла в Python
- Объединение словарей в Python
- Проектирование Singleton с метаклассом
- Создание новых списков в Python
- Метод get для словаря
- Monkey Patching в Python
- Генераторы в Python
- Отправка POST-запроса в REST API
- Генераторы данных
- Загрузка постов Instagram
- Pillow: работа с изображениями
- Основные операции с Numpy
- Измерение времени выполнения кода с помощью time
- Форматирование данных с помощью pprint
- Преобразование PowerPoint в PDF.
- Оптимизация строк в Python
- Метод __irshift__ для побитового сдвига вправо
- Возврат значений из генератора
- Создание объекта времени
- Оператор continue в Python
- Цикл for в Python
- Объединение словарей в Python 3.5+
- Модуль xkcd: загрузка комиксов
- Функция reduce() из модуля functools
- Генератор бросков кубиков
- Уникальные значения из списка















