Курс 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
- Сравнение def и lambda функций в Python
- Работа с словарями в Python
- Профилирование кода на Python
- Цикл for в Python
- Операции с кортежами
- Переменные класса и экземпляра
- 9 уловок для чистого кода
- Объединение итераторов
- Использование super() в Python
- Подсказки при вводе данных в Python
- Разделение списка на гнппы
- Управление пакетами с pip
- Транспонирование матрицы
- Просмотр атрибутов и методов класса
- Инициализация структур данных
- Декораторы в Python
- Утечки переменных цикла в Python 3.x
- Создание уникального множества
- Метод Enumerate() для списков
- Инверсия списков и строк в Python
- Загрузка постов Instagram
- Присвоение и ссылки
- Оптимизация интернирования строк
- Управление мышью и клавиатурой с Pyautogui
- Отладка утечек памяти в Python
- Глубокое копирование объектов
- Генератор списка с условием if
- Progress с библиотекой tqdm
- Вычисление фазы комплексного числа
- Множественное назначение в Python
- Конструктор в Python
- Оптимизация гиперпараметров с Scikit Optimize
- Циклы в Python
- Python 3.12: Псевдонимы типов
- Функции-генераторы в Python
- Метод Event.wait() в Python
- Тестирование функции сложения
- Изменение регистра данных
- Декораторы в Python
- Объединение словарей в Python 3.5+
- HTTP-запросы с библиотекой Requests
- Замена атрибута в именованном кортеже















