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 by MARK
opcodes 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 an OpcodeInfo
class; 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 PUT
opcodes. The optimized pickle is shorter, takes less transmission time, requires less storage space, and unpickles more efficiently.
New in version 2.6.
© 2001–2017 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/pickletools.html