Назад к вопросам
Junior
71
questionbank
Что такое unpickling?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Unpickling — это процесс восстановления объекта из его сериализованного представления (байтового потока), созданного с помощью модуля pickle в Python.
При unpickling происходит обратный процесс сериализации. Модуль pickle считывает данные из байтового потока и реконструирует исходный объект, включая его тип, атрибуты и состояние.
Это полезно для:
- Хранения объектов Python в файлах или базах данных.
- Передачи объектов между процессами или по сети.
Процесс выполняется с помощью функции pickle.load() или pickle.loads().
import pickle
# Пример сериализованных данных (предположим, были получены из pickle.dump())
serialized_data = b'\x80\x04\x95\x1d\x00\x00\x00\x00\x00\x00\x00}\x94(K\x01K\x02K\x03u.'
# Выполнение unpickling
restored_object = pickle.loads(serialized_data)
# Вывод восстановленного объекта
# print(restored_object)
import pickle
# Пример сериализации в файл
# with open('data.pkl', 'wb') as f:
# data = {'a': 1, 'b': 2}
# pickle.dump(data, f)
# Выполнение unpickling из файла
with open('data.pkl', 'rb') as f:
restored_object_from_file = pickle.load(f)
# Вывод восстановленного объекта из файла
# print(restored_object_from_file)
Важно отметить, что unpickling потенциально небезопасен при десериализации данных из ненадежных источников, поскольку может выполнять произвольный код.