Курс 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
- Big O оптимизация
- Приближение чисел в Python
- Поиск шаблона в строке
- Хешируемые ключи в Python
- Отрицательные индексы списков в Python
- Сравнение def и lambda функций в Python
- Добавление элемента в список.
- Лямбда-функции в цикле
- Имена объектов в Python
- Названия столбцов в Python таблицах
- Замена подстроки
- Отладка кода
- Проверка строки на палиндром
- Реверс строки в Python
- Удаление специальных символов
- Проверка типов с помощью isinstance
- Solidity для DeFi Ethereum
- Метод __imod__ для Python
- Combobox в Tkinter
- Явный импорт переменных
- Аннотации типов в Python
- Вакансии в Nebius
- Нан-рефлексивность в Python
- Определение функций с необязательными аргументами
- Метод rrshift для пользовательских объектов
- Измерение времени выполнения в Python
- Функция eval() в Python
- Генерация случайных чисел в Python
- Особенности запятых в Python
- Выражения-генераторы в Python
- Метод __float__ в Python
- Преобразование Excel в PDF с Spire.XLS
- Работа со строками в Python
- JSON в Python: модуль, dump, dumps, load
- Установка Home Assistant
- Добавление кнопки в tkinter
- Проверка дубликатов в Python
- lru_cache оптимизация функций
- Метод get для словарей
- Метод pop() списка
- Проблема сравнения словарей
- Закрытие файла в Python
- Измерение времени выполнения кода
- Удаление знаков препинания в Python
- Замыкания в Python















