Курс Python → Сериализация и десериализация объектов
Модуль pickle в Python предоставляет удобный способ сериализации и десериализации объектов. Сериализация — это процесс преобразования объекта Python в последовательность байтов, которая может быть сохранена или передана через сеть. Десериализация, с другой стороны, — это процесс обратного преобразования последовательности байтов в объект Python.
Основными методами модуля pickle являются pickle.dumps() и pickle.loads(). Метод pickle.dumps() принимает объект Python и возвращает его сериализованное представление в виде строки байтов. Метод pickle.loads(), наоборот, принимает сериализованное представление объекта и возвращает его как объект Python.
Пример использования модуля pickle:
import pickle
# сериализация объекта
data = {'name': 'Alice', 'age': 30}
serialized_data = pickle.dumps(data)
# запись сериализованных данных в файл
with open('data.pickle', 'wb') as file:
file.write(serialized_data)
# десериализация объекта
with open('data.pickle', 'rb') as file:
deserialized_data = pickle.loads(file.read())
print(deserialized_data)
Модуль pickle также поддерживает сериализацию пользовательских классов и функций. Однако, при использовании pickle важно помнить о потенциальных уязвимостях безопасности, связанных с десериализацией ненадежных данных. Поэтому рекомендуется быть осторожным при загрузке данных из ненадежных источников.
Другие уроки курса "Python"
- Динамическая типизация в Python
- globals и locals
- Анализ кода — Python
- Генерация случайных чисел в Python
- Подсчет количества элементов в списке
- Преобразование числа в восьмеричную строку
- Оператор «or» в Python
- Работа с датами в Python
- Расчет времени выполнения кода
- Использование метода lower()
- Многострочные строки в Python
- Сериализация данных в JSON с помощью json.dumps
- Явный импорт переменных
- Удаление дубликатов с помощью множеств
- Очистка списка от False, None, 0, «»
- Метод title() в Python
- Обработка исключений в Python
- Инверсия списка/строки в Python
- Библиотека Chartify: руководство
- Логические операторы в Python
- Работа с индексами списков
- Типы возвращаемых значений в Python
- Сравнение объектов в Python
- Многопоточность и асинхронное программирование в Python
- Кортежи в Python: особенности и преимущества
- Замеры производительности в Python
- Замена атрибута в именованном кортеже
- Счетчик в Python: most_common()
- Создание панели меню Tkinter
- Генерация QR-кодов с библиотекой qrcode
- Работа с типами данных в Python с помощью pydantic.
- Создание новых списков через list comprehensions
- Управление виртуальными окружениями в Python
- Копирование и вставка текста в Python
- Удаление файлов и папок в Python
- Определение объема памяти объекта
- Операторы += в Python
- Закрытие файла в Python
- Оператор walrus в Python
- Инверсия списков и строк в Python
- Функция all() в Python
- Переворот последовательности
- Метод lt для сортировки объектов
- PEP-401: оператор
- Управление User-Agent в Python
- Создание списка через итерацию















