From 8def876d3653c1fc4c183d6b8cbdada775c07725 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Sat, 7 Aug 2004 16:53:59 +0000 Subject: [Bug #873146] Document pickletools module (haven't tested the LaTeX yet) --- Doc/lib/lib.tex | 1 + Doc/lib/libpickletools.tex | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 Doc/lib/libpickletools.tex diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex index 8895b57..6704d10 100644 --- a/Doc/lib/lib.tex +++ b/Doc/lib/lib.tex @@ -322,6 +322,7 @@ and how to embed it in other applications. \input{libpycompile} % really py_compile \input{libcompileall} \input{libdis} +\input{libpickletools} \input{distutils} \input{compiler} % compiler package diff --git a/Doc/lib/libpickletools.tex b/Doc/lib/libpickletools.tex new file mode 100644 index 0000000..0fe76ff --- /dev/null +++ b/Doc/lib/libpickletools.tex @@ -0,0 +1,32 @@ +\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.} + +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} + -- cgit v0.12