30.13. pickletools – Инструменты для разработчиков pickle¶pickletools – Tools for pickle developers
Этот модуль содержит различные константы, связанные с внутренними деталями модуля pickle, некоторые пространные комментарии о реализации и несколько полезных функций для анализа данных, сериализованных с помощью pickle. Содержимое этого модуля полезно для разработчиков ядра Python, работающих над pickle; обычные пользователи модуля pickle, вероятно, не найдут модуль pickletools релевантным.
- pickletools.dis(pickle[, out=None, memo=None, indentlevel=4])¶
- Выводит символьную дизассемблерную распечатку pickle в файлоподобный объект out, по умолчанию sys.stdout. pickle может быть строкой или файлоподобным объектом. memo может быть словарём Python, который будет использоваться как memo для pickle; его можно использовать для выполнения дизассемблирования по нескольким pickle, созданным одним и тем же pickler. Последовательные уровни, обозначаемые кодами операций MARK в потоке, отступают на indentlevel пробелов.
- pickletools.genops(pickle)¶
- Предоставляет итератор по всем опкодам в pickle, возвращая последовательность троек (opcode, arg, pos). opcode – экземпляр класса OpcodeInfo; arg – декодированное значение аргумента опкода в виде Python-объекта; pos – позиция, в которой находится этот опкод. pickle может быть строкой или файлоподобным объектом.
- pickletools.optimize(picklestring)¶
- Возвращает новую эквивалентную pickle-строку после удаления неиспользуемых опкодов PUT. Оптимизированный pickle короче, требует меньше времени на передачу, меньше места для хранения и распаковывается быстрее.