Курс 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
- Декораторы в Python
- Сравнение строк в Python
- Сортировка с помощью параметра key
- Логирование с Logzero
- Подсчет элементов с помощью Counter
- Удаление элементов по срезу
- Получение списка файлов в директории с использованием os
- Метод join() для объединения элементов строки
- Работа с очередями в Python
- Использование функции enumerate()
- Метод __ilshift__ для битового сдвига влево
- Модуль xkcd: загрузка комиксов
- Справка по импортированным модулям
- Встраивание HTML в Jupyter Notebook
- Компиляция регулярных выражений
- Concrete Paths в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Методы сравнения множеств
- Создание объекта времени
- Установка переменной среды в Python
- Непрерывная проверка в Python
- Python Ellipsis использование
- Создание новых списков в Python
- Доступ к локальным переменным
- Декораторы в Python
- Методы list в Python
- Сравнение объектов в Python
- Метод ipow для возведения в степень
- Оптимизация гиперпараметров в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Исправление ошибки NameError
- Работа с набором данных CIFAR10 в PyTorch
- Генераторы в Python
- Итераторы в Python
- Деление в Python
- Транспонирование 2D-массива с помощью zip
- Подчеркивание в REPL
- Генератор чисел Фибоначчи
- Хранение переменных в словаре.
- Обработка аргументов Python
- Отправка POST запроса на сервер.
- Автоматизация действий с Pyautogui
- Срезы в Python
- Импорт объектов из модулей
- Профилирование с cProfile
- Методы Python для работы с данными
- Удаление элементов из списка в Python
- Создание панели меню Tkinter















