diff options
-rw-r--r-- | Doc/lib/libpickle.tex | 45 | ||||
-rw-r--r-- | Lib/pickle.py | 16 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 18 insertions, 45 deletions
diff --git a/Doc/lib/libpickle.tex b/Doc/lib/libpickle.tex index 4de445a..067f468 100644 --- a/Doc/lib/libpickle.tex +++ b/Doc/lib/libpickle.tex @@ -144,14 +144,10 @@ If \var{protocol} is specified as a negative value or \constant{HIGHEST_PROTOCOL}, the highest protocol version available will be used. -\versionchanged[The \var{bin} parameter is deprecated and only provided -for backwards compatibility. You should use the \var{protocol} -parameter instead]{2.3} +\versionchanged[Introduced the \var{protocol} parameter]{2.3} A binary format, which is slightly more efficient, can be chosen by -specifying a true value for the \var{bin} argument to the -\class{Pickler} constructor or the \function{dump()} and \function{dumps()} -functions. A \var{protocol} version >= 1 implies use of a binary format. +specifying a \var{protocol} version >= 1. \subsection{Usage} @@ -170,24 +166,17 @@ as a \var{protocol} value. The \module{pickle} module provides the following functions to make this process more convenient: -\begin{funcdesc}{dump}{obj, file\optional{, protocol\optional{, bin}}} +\begin{funcdesc}{dump}{obj, file\optional{, protocol}} Write a pickled representation of \var{obj} to the open file object \var{file}. This is equivalent to -\code{Pickler(\var{file}, \var{protocol}, \var{bin}).dump(\var{obj})}. +\code{Pickler(\var{file}, \var{protocol}).dump(\var{obj})}. If the \var{protocol} parameter is omitted, protocol 0 is used. If \var{protocol} is specified as a negative value or \constant{HIGHEST_PROTOCOL}, the highest protocol version will be used. -\versionchanged[The \var{protocol} parameter was added. -The \var{bin} parameter is deprecated and only provided -for backwards compatibility. You should use the \var{protocol} -parameter instead]{2.3} - -If the optional \var{bin} argument is true, the binary pickle format -is used; otherwise the (less efficient) text pickle format is used -(for backwards compatibility, this is the default). +\versionchanged[Introduced the \var{protocol} parameter]{2.3} \var{file} must have a \method{write()} method that accepts a single string argument. It can thus be a file object opened for writing, a @@ -211,7 +200,7 @@ This function automatically determines whether the data stream was written in binary mode or not. \end{funcdesc} -\begin{funcdesc}{dumps}{obj\optional{, protocol\optional{, bin}}} +\begin{funcdesc}{dumps}{obj\optional{, protocol}} Return the pickled representation of the object as a string, instead of writing it to a file. @@ -220,14 +209,8 @@ If \var{protocol} is specified as a negative value or \constant{HIGHEST_PROTOCOL}, the highest protocol version will be used. -\versionchanged[The \var{protocol} parameter was added. -The \var{bin} parameter is deprecated and only provided -for backwards compatibility. You should use the \var{protocol} -parameter instead]{2.3} +\versionchanged[The \var{protocol} parameter was added]{2.3} -If the optional \var{bin} argument is -true, the binary pickle format is used; otherwise the (less efficient) -text pickle format is used (this is the default). \end{funcdesc} \begin{funcdesc}{loads}{string} @@ -262,7 +245,7 @@ subclassed. One common reason to subclass is to control what objects can actually be unpickled. See section~\ref{pickle-sub} for more details.}, \class{Pickler} and \class{Unpickler}: -\begin{classdesc}{Pickler}{file\optional{, protocol\optional{, bin}}} +\begin{classdesc}{Pickler}{file\optional{, protocol}} This takes a file-like object to which it will write a pickle data stream. @@ -270,13 +253,7 @@ If the \var{protocol} parameter is omitted, protocol 0 is used. If \var{protocol} is specified as a negative value, the highest protocol version will be used. -\versionchanged[The \var{bin} parameter is deprecated and only provided -for backwards compatibility. You should use the \var{protocol} -parameter instead]{2.3} - -Optional \var{bin} if true, tells the pickler to use the more -efficient binary pickle format, otherwise the \ASCII{} format is used -(this is the default). +\versionchanged[Introduced the \var{protocol} parameter]{2.3} \var{file} must have a \method{write()} method that accepts a single string argument. It can thus be an open file object, a @@ -289,7 +266,7 @@ object that meets this interface. \begin{methoddesc}[Pickler]{dump}{obj} Write a pickled representation of \var{obj} to the open file object given in the constructor. Either the binary or \ASCII{} format will -be used, depending on the value of the \var{bin} flag passed to the +be used, depending on the value of the \var{protocol} argument passed to the constructor. \end{methoddesc} @@ -451,7 +428,7 @@ method is normally \emph{not} invoked. If it is desirable that the \method{__init__()} method be called on unpickling, an old-style class can define a method \method{__getinitargs__()}, which should return a \emph{tuple} containing the arguments to be passed to the class -constructor (i.e. \method{__init__()}). The +constructor (\method{__init__()} for example). The \method{__getinitargs__()} method is called at pickle time; the tuple it returns is incorporated in the pickle for the instance. diff --git a/Lib/pickle.py b/Lib/pickle.py index 7d6825f..4c91888 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -171,7 +171,7 @@ del x class Pickler: - def __init__(self, file, protocol=None, bin=None): + def __init__(self, file, protocol=None): """This takes a file-like object for writing a pickle data stream. The optional protocol argument tells the pickler to use the @@ -195,12 +195,6 @@ class Pickler: object, or any other custom object that meets this interface. """ - if protocol is not None and bin is not None: - raise ValueError, "can't specify both 'protocol' and 'bin'" - if bin is not None: - warnings.warn("The 'bin' argument to Pickler() is deprecated", - DeprecationWarning) - protocol = bin if protocol is None: protocol = 0 if protocol < 0: @@ -1378,12 +1372,12 @@ try: except ImportError: from StringIO import StringIO -def dump(obj, file, protocol=None, bin=None): - Pickler(file, protocol, bin).dump(obj) +def dump(obj, file, protocol=None): + Pickler(file, protocol).dump(obj) -def dumps(obj, protocol=None, bin=None): +def dumps(obj, protocol=None): file = StringIO() - Pickler(file, protocol, bin).dump(obj) + Pickler(file, protocol).dump(obj) return file.getvalue() def load(file): @@ -21,6 +21,8 @@ Extension Modules Library ------- +- the pickle module no longer uses the deprecated bin parameter. + - the depecated statcache module was removed. - the shelve module no longer uses the deprecated binary parameter. |