Курс 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: создание и вызов
- Numpy: разбиение массивов
- Определение объема памяти объекта
- Метод is_absolute() для PurePath
- Работа с библиотекой xkcd
- Функции map, filter, reduce
- Генерация UUID в Python
- Оператор continue в Python
- Автоматизация с Python
- Печать календаря
- Логические значения в Python
- Игра Виселица на Python
- CSV строка разделение в Python
- Форматирование объектов с модулем pprint
- Подсчет часто встречающихся элементов
- Разделение строки в Python
- Модуль pprint: улучшение вывода данных
- Экспорт данных с помощью writefile
- Оптимизация сравнения в Python
- Философия Python
- Установка и использование модуля Wikipedia
- Класс UserDict: дополнительная функциональность
- Объединение словарей в Python
- Запуск асинхронной корутины
- Monkey Patching в Python
- Объединение словарей в Python 3.5+
- Оператор is в Python
- Метод invert для побитового отрицания
- Кортеж в Python: создание и использование
- Библиотека itertools: объединение списков
- Magic Commands — улучшение работы с Python
- Оптимизация гиперпараметров с Scikit Optimize
- Основы работы с базами данных в Python
- Роль ключевого слова self
- Работа с enumerate()
- Оператор break в Python
- Метод join() для объединения строк
- Работа с очередями в Python
- Извлечение аудио из видео
- Pretty-printing JSON в Python
- Работа со стеком в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Конвертация коллекций в Python.
- Оптимизация параметров в Python
- Измерение времени выполнения кода
- Функция reduce() в Python















