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 pickle and cPickle implementations; ordinary users of the pickle module probably won’t find the pickletools module relevant.
-
pickletools.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 byMARKopcodes in the stream, are indented by indentlevel spaces.
-
pickletools.genops(pickle) -
Provides an iterator over all of the opcodes in a pickle, returning a sequence of
(opcode, arg, pos)triples. opcode is an instance of anOpcodeInfoclass; 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.
-
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.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/pickletools.html