Курс 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"
- Вычисление фазы комплексного числа
- Функция __init__ в Python
- Распаковка значений в Python
- Объединение словарей в Python
- Список переменных с %who
- Создание словарей в Python
- Добавление элемента к кортежу
- Выключение компьютера с помощью Python
- Импорт модулей в Python 3.12
- Реализация метода __abs__ в Python
- Преобразование объекта в строку
- Оператор == в Python
- Чтение бинарного файла в Python.
- Получение ID процесса
- Передача аргументов через **arguments
- Преобразование генераторов в циклы
- Сокращение ссылок с pyshorteners
- Обработка ошибок в Python
- Заказ карты Тинькофф Black
- Подсказки при вводе данных в Python
- Измерение времени выполнения кода с помощью time
- Работа с очередями в Python
- Перемешивание списка с shuffle()
- Оператор «is not» в Python
- Очистка входных данных
- Замена текста с re.sub()
- Вывод баннеров
- Пропуск начальных строк с помощью dropwhile()
- Декораторы в Python
- Измерение времени выполнения кода
- Декораторы в Python
- Ускорение обработки данных с %autoawait
- Быстрый поиск кода
- Метод __float__ в Python
- Роль object и type в Python
- Работа с файлами в Python
- Функция map() в Python
- Изменение элемента списка
- Форматирование объектов с модулем pprint
- Использование модуля math
- Работа с кортежами
- Генерация резюме в Gensim
- Обработка исключений с блоком else
- Работа с кортежами в Python
- Поиск подстроки в строке
- Повторение элементов списков















