32.13. pickletools – Инструменты для разработчиков pickle¶pickletools – 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.