Модуль marshal используется для сериализации объектов в «недокументированные» форматы представления данных, используемые в языке Python.
Note
Данные сохраняются в платформонезависимом формате.
Поддерживаются только None, целые числа, длинные целые числа, числа с плавающей точкой, комплексные числа, строки, строки Юникода, кортежи, списки, словари и объекты с программным кодом. Списки, кортежи и словари могут содержать только объекты поддерживаемых типов. Экземпляры классов и рекурсивные ссылки в списках, кортежах и словарях не поддерживаются.
Целые числа могут быть преобразованы в длинные целые, если встроенный тип int не обладает достаточной точностью для их представления, например если сериализованное целое число содержит 64 бита, а чтение выполняется на платформе, поддерживающей 32-битные целые числа.
Модуль marshal не обеспечивает защиту от ошибочных или злонамеренных данных и не должен использоваться для чтения данных, полученных из непроверенных источников.
Модуль marshal имеет значительно более высокую производительность, чем модуль pickle, и имеет менее широкие возможности.
marshal.
dump
(value, file[, version])version (int) – формат данных. по умолчанию определяется переменной marshal.version и в настоящее время имеет значение 2. Версия 0 – это устаревший формат, использовавшийся более ранними версиями Python.
Сохраняет объект в файловый объект.
Note
Если объект относится к неподдерживаемым типам, возбуждается исключение ValueError.
marshal.
dumps
(value[, version])version (int) – формат данных. по умолчанию определяется переменной marshal.version и в настоящее время имеет значение 2. Версия 0 – это устаревший формат, использовавшийся более ранними версиями Python.
Возвращает строку, записанную функцией dump()
. Если объект value относится к неподдерживаемым типам, возбуждается исключение ValueError.
marshal.
load
(file)Читает и возвращает следующее значение из файлового объекта. Если функции не удалось прочитать допустимое значение, будет возбуждено исключение EOFError, ValueError или TypeError. Формат данных в файле определяется автоматически.
marshal.
loads
(string)Читает и возвращает следующее значение из строки string.