Курс 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"
- Перевод эмодзи и эмотиконов.
- Работа с URL-адресами в Python
- Нахождение отличий в списках
- Экранирование символов в Python
- f-строки в формате строк
- Обмен переменными в Jupyter
- Работа с argparse
- Динамическая типизация в Python
- Уникальность ключей в словаре
- Использование super() в Python
- Игра Виселица на Python
- Метод add для класса Vector
- Поиск самого частого элемента
- Сравнение неупорядоченных списков
- Непрерывная проверка в Python
- Создание новых функций через partial
- Python 3.12: переиспользование кавычек
- Concrete Paths — метод .with_suffix()
- Работа с кортежами в Python
- Работа со слайсами
- Переопределение метода divmod
- Хранение данных
- Инициализация объекта
- Переопределение метода __lshift__
- Создание OrderedDict
- Перебор элементов списка в Python
- Настройка Cron
- Копирование и вставка текста в Python
- Удаление пробелов методом translate()
- Перемещение и удаление файлов в Python
- Тестирование с responses
- Метод radd для пользовательских чисел
- inspect в Python: анализ кода
- Генератор бросков кубиков
- Оператор walrus в Python
- Форматирование объектов с модулем pprint
- Чтение бинарного файла в Python.
- Работа с модулем random
- Работа со строками
- Управление браузером с Selenium
- Асинхронное программирование с asyncio
- None в Python: использование и особенности
- Иерархия классов в Python
- Многоточие в Python
- Принципы SRP и OCP
- Библиотека itertools: объединение списков















