summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/lib/libpickle.tex45
-rw-r--r--Lib/pickle.py16
-rw-r--r--Misc/NEWS2
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):
diff --git a/Misc/NEWS b/Misc/NEWS
index 4733bfb..235c257 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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.