pickletools
--- Tools for pickle developersNew in version 2.3.
Source code: Lib/pickletools.py
[UNKNOWN NODE transition]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)[source]
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)[source]
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)[source]
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.