2004-08-07 13:53:59 -03:00
|
|
|
\section{\module{pickletools} --- Tools for pickle developers.}
|
|
|
|
|
|
|
|
\declaremodule{standard}{pickletools}
|
|
|
|
\modulesynopsis{Contains extensive comments about the pickle protocols and pickle-machine opcodes, as well as some useful functions.}
|
|
|
|
|
2006-01-10 20:14:29 -04:00
|
|
|
\versionadded{2.3}
|
|
|
|
|
2004-08-07 13:53:59 -03:00
|
|
|
This module contains various constants relating to the intimate
|
|
|
|
details of the \refmodule{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 \module{pickle} and \module{cPickle}
|
|
|
|
implementations; ordinary users of the \module{pickle} module probably
|
|
|
|
won't find the \module{pickletools} module relevant.
|
|
|
|
|
|
|
|
\begin{funcdesc}{dis}{pickle\optional{, out=None, memo=None, indentlevel=4}}
|
|
|
|
Outputs a symbolic disassembly of the pickle to the file-like object
|
|
|
|
\var{out}, defaulting to \code{sys.stdout}. \var{pickle} can be a
|
|
|
|
string or a file-like object. \var{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 \code{MARK} opcodes in the stream, are
|
|
|
|
indented by \var{indentlevel} spaces.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{genops}{pickle}
|
|
|
|
Provides an iterator over all of the opcodes in a pickle, returning a
|
|
|
|
sequence of \code{(\var{opcode}, \var{arg}, \var{pos})} triples.
|
|
|
|
\var{opcode} is an instance of an \class{OpcodeInfo} class; \var{arg}
|
|
|
|
is the decoded value, as a Python object, of the opcode's argument;
|
|
|
|
\var{pos} is the position at which this opcode is located.
|
|
|
|
\var{pickle} can be a string or a file-like object.
|
|
|
|
\end{funcdesc}
|
|
|
|
|