Документация Python неофициальный перевод

32.13. pickletools – Инструменты для разработчиков picklepickletools – Tools for pickle developers

Новое в версии 2.3.

Исходный код: Lib/pickletools.py


Этот модуль содержит различные константы, относящиеся к тонкостям модуля pickle, подробные комментарии о реализации и несколько полезных функций для анализа сериализованных данных. Содержимое этого модуля полезно разработчикам ядра Python, работающим над реализациями pickle и cPickle; обычным пользователям модуля pickle модуль pickletools, скорее всего, не понадобится.

pickletools.dis(pickle, out=None, memo=None, indentlevel=4)

Выводит символический разбор pickle в файлоподобный объект out, по умолчанию в sys.stdout. pickle может быть строкой или файлоподобным объектом. memo может быть словарём Python, который будет использоваться как памятка pickle; его можно использовать для выполнения разборов по нескольким pickle, созданным одним и тем же упаковщиком. Последовательные уровни, обозначаемые MARK опкодами в потоке, отступают на indentlevel пробелов.

pickletools.genops(pickle)

Предоставляет итератор по всем опкодам в pickle, возвращая последовательность троек (opcode, arg, pos). opcode – экземпляр класса OpcodeInfo; arg – это декодированное значение (как объект Python) аргумента опкода; pos – позиция, на которой находится этот опкод. pickle может быть строкой или файлоподобным объектом.

pickletools.optimize(picklestring)

Возвращает новую эквивалентную pickle-строку после удаления неиспользуемых опкодов PUT. Оптимизированный pickle короче, занимает меньше времени на передачу, требует меньше места при хранении и распаковывается более эффективно.

Новое в версии 2.6.