32.13.pickletools — Tools for pickle developers¶
New in version 2.3.
Source code:Lib/pickletools.py
This module contains various constants relating to the intimate details of thepickle module, some lengthy comments about the implementation, and a fewuseful functions for analyzing pickled data. The contents of this module areuseful for Python core developers who are working on thepickle andcPickle implementations; ordinary users of thepickle moduleprobably won’t find thepickletools module relevant.
pickletools.dis(pickle,out=None,memo=None,indentlevel=4)¶Outputs a symbolic disassembly of the pickle to the file-like objectout,defaulting to
sys.stdout.pickle can be a string or a file-like object.memo can be a Python dictionary that will be used as the pickle’s memo; it canbe used to perform disassemblies across multiple pickles created by the samepickler. Successive levels, indicated byMARKopcodes in the stream, areindented byindentlevel spaces.
pickletools.genops(pickle)¶Provides aniterator over all of the opcodes in a pickle, returning asequence of
(opcode,arg,pos)triples.opcode is an instance of anOpcodeInfoclass;arg is the decoded value, as a Python object, ofthe opcode’s argument;pos is the position at which this opcode is located.pickle can be a string or a file-like object.
pickletools.optimize(picklestring)¶Returns a new equivalent pickle string after eliminating unused
PUTopcodes. The optimized pickle is shorter, takes less transmission time,requires less storage space, and unpickles more efficiently.New in version 2.6.
