Курс 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
- Оператор «or» в Python
- Метод ipow для возведения в степень
- Удаление первого элемента списка
- Улучшенные подсказки для импорта в Python 3.12
- Преобразование кортежа в словарь.
- Преобразование чисел в Python
- Переворот строки с помощью срезов
- Экспорт данных в файл.
- Настройка вывода NumPy
- Подсказки при вводе данных в Python
- Извлечение чисел из текста
- Подсчет вхождений элементов
- Проекты на Python
- Python: библиотеки и функции
- Метод splitlines() для разделения строк
- Перетасовка списков в Python
- Метод get() для словарей
- Использование функции product
- Измерение времени выполнения кода
- Транспонирование 2D-массива с помощью zip
- Функция enumerate() в Python
- Роль запятой в Python
- Логирование с Logzero
- Сложные типы данных в Python
- Ускорение обработки данных с %autoawait
- Многопоточность в Python
- Работа с изображениями PIL
- Обработка исключений в Python
- Преобразование генераторов в циклы
- Форматирование строк в Python
- Работа с CSV файлами
- Работа с контекстным менеджером Pool
- Поиск индекса элемента
- Возвращение нескольких значений через кортеж или класс
- Удаление элемента по индексу в Python
- Numpy: использование Ellipsis
- Функции range() в Python
- Вывод баннеров
- Строки в Python: апострофы и кавычки
- Поиск наиболее частого элемента
- Декораторы в Python
- Конвертация коллекций в Python















