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 the
pickle module, some lengthy comments about the implementation, and a few
useful functions for analyzing pickled data. The contents of this module are
useful for Python core developers who are working on the
cPickle implementations; ordinary users of the
probably won’t find the
pickletools module relevant.
dis(pickle, out=None, memo=None, indentlevel=4)¶
Outputs a symbolic disassembly of the pickle to the file-like object out, 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 can be used to perform disassemblies across multiple pickles created by the same pickler. Successive levels, indicated by
MARKopcodes in the stream, are indented by indentlevel spaces.
Provides an iterator over all of the opcodes in a pickle, returning a sequence of
(opcode, arg, pos)triples. opcode is an instance of an
OpcodeInfoclass; arg is the decoded value, as a Python object, of the opcode’s argument; pos is the position at which this opcode is located. pickle can be a string or a file-like object.
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.