Курс Python → Сериализация объектов в Python
Модуль pickle в Python предоставляет удобные инструменты для сериализации и десериализации объектов Python. Сериализация — это процесс преобразования объекта в последовательность байтов, которая может быть сохранена в файле или передана по сети. Десериализация — обратный процесс, когда последовательность байтов преобразуется обратно в объект.
В приведенном примере мы создаем объект data в виде словаря и используем функцию pickle.dumps для сериализации этого объекта в байтовую строку. Мы можем сохранить эту строку в файле или передать ее по сети. Затем, используя функцию pickle.loads, мы десериализуем байтовую строку обратно в объект и получаем исходный словарь data.
import pickle
data = {'key': 'value'}
serialized_data = pickle.dumps(data)
# Сохраняем serialized_data в файл или передаем по сети
deserialized_data = pickle.loads(serialized_data)
print(deserialized_data) # Выведет: {'key': 'value'}
Использование модуля pickle удобно при необходимости сохранить сложные структуры данных Python или передать их между разными процессами. Однако, следует помнить о некоторых ограничениях, например, pickle не поддерживает сериализацию некоторых типов объектов, таких как файлы или сокеты.
При работе с модулем pickle важно обеспечить безопасность данных, так как десериализация объектов из ненадежных источников может привести к выполнению зловредного кода. Рекомендуется использовать pickle только для доверенных данных или обеспечивать проверку целостности данных перед их десериализацией.
Другие уроки курса "Python"
- Аннотации типов в Python
- Работа с аргументами командной строки в Python
- ChainMap.new_child() — добавление нового словаря
- Списковое включение в Python
- Операторы объединения в Python 3.9
- Блок else в обработке исключений
- Идентификатор объекта в Python
- Оформление кода на Python
- Установка User-Agent в Python
- Оптимизация гиперпараметров в Python
- Объединение строк с помощью метода join
- Транспонирование 2D-массива с помощью zip
- Контроль точности вывода чисел
- Замер времени выполнения кода
- Оператор «and» в Python
- Управление асинхронными задачами с помощью Semaphore
- Создание итератора
- Отрицательные индексы списков в Python
- Типы возвращаемых значений в Python
- Получение значений из словарей
- Метод invert для побитового отрицания
- Обратное распространение ошибки
- Комментарии в Python.
- Оператор in для Python
- Удаление файлов и папок в Python
- Декораторы для регистрации функций
- Определение объема памяти объекта
- Работа со строками в Python
- Многострочные строки в Python
- Группы исключений в Python
- Перевернуть список в Python
- Оператор «not» в Python
- Синтаксис переменных цикла в Python
- Кортеж в Python: создание, доступ, изменение
- Склеивание строк через метод join()
- Проблемы с dict в Python
- Умножение строк и списков
- Утечки переменных цикла в Python 3.x
- Простой калькулятор Python
- Списки в Python
- Метод join() для объединения строк
- Генераторы в Python
- Декоратор проверки активности
- Декораторы в Python
- Оператор continue в Python
- Декоратор total_ordering для класса Point
- Преобразование PowerPoint в PDF.















