32.13. "pickletools" — Tools for pickle developers
**************************************************

Nouveau dans la 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.

   Nouveau dans la version 2.6.
