Курс 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
- Синхронизация потоков с time.sleep()
- Подсказки типов в Python
- Сложение матриц в NumPy
- Основные операции с библиотекой Numpy
- Генерация ключей RSA
- Конвертация текстовых чисел с помощью Numerizer
- Тип CodeType в Python.
- Распаковка аргументов в Python
- Извлечение статей с newspaper3k
- Определение объема памяти объекта
- Метод ifloordiv для пользовательских классов
- Декораторы с аргументами
- Отправка HTTP-запросов в Python
- Обработка исключения UnboundLocalError
- Импортирование в Python
- Ограничение ресурсов в Python
- Оператор «моржа» (Walrus Operator)
- Повторение и перенос строки
- Замена атрибута в именованном кортеже
- Использование super() в Python
- Хеширование паролей с использованием salt
- Функции высшего порядка в Python
- Оптимизация памяти с __slots__
- Создание новых списков через list comprehensions
- Codecademy в Telegram
- Python: отсутствие точек с запятыми
- Списки в Python: синтаксис представления
- Функциональное программирование.
- Многострочные комментарии в Python
- Умножение строк и списков
- Форматирование строк в Python
- Генераторы в Python
- Работа с итераторами в Python
- Поиск самого частого элемента
- Дизассемблирование Python кода
- Подробная информация о %pinfo
- Пересечение списков с использованием множеств
- Переопределение оператора % для объектов
- Эффективная конкатенация строк в Python
- Копирование объектов в Python
- Перезагрузка оператора в Python
- Python: отличительная особенность — отступы
- Управление контекстом с помощью декоратора contextmanager
- Шаблоны Flask: условия и циклы
- Проверка класса объекта















