sub-objects. The keys are ordinary strings.
\refstmodindex{pickle}
-\begin{funcdesc}{open}{filename\optional{,flag='c'\optional{,protocol=\code{None}\optional{,writeback=\code{False}\optional{,binary=\code{None}}}}}}
+\begin{funcdesc}{open}{filename\optional{,flag='c'\optional{,protocol=\code{None}\optional{,writeback=\code{False}}}}}
Open a persistent dictionary. The filename specified is the base filename
for the underlying database. As a side-effect, an extension may be added to
the filename and more than one file may be created. By default, the
By default, version 0 pickles are used to serialize values.
The version of the pickle protocol can be specified with the
\var{protocol} parameter. \versionchanged[The \var{protocol}
-parameter was added. The \var{binary} parameter is deprecated
-and provided for backwards compatibility only]{2.3}
+parameter was added]{2.3}
By default, mutations to persistent-dictionary mutable entries are not
automatically written back. If the optional \var{writeback} parameter
\end{itemize}
-\begin{classdesc}{Shelf}{dict\optional{, protocol=None\optional{, writeback=False\optional{, binary=None}}}}
+\begin{classdesc}{Shelf}{dict\optional{, protocol=None\optional{, writeback=False}}}
A subclass of \class{UserDict.DictMixin} which stores pickled values in the
\var{dict} object.
version of the pickle protocol can be specified with the
\var{protocol} parameter. See the \module{pickle} documentation for a
discussion of the pickle protocols. \versionchanged[The \var{protocol}
-parameter was added. The \var{binary} parameter is deprecated and
-provided for backwards compatibility only]{2.3}
+parameter was added]{2.3}
If the \var{writeback} parameter is \code{True}, the object will hold a
cache of all entries accessed and write them back to the \var{dict} at
but can consume much more memory and make sync and close take a long time.
\end{classdesc}
-\begin{classdesc}{BsdDbShelf}{dict\optional{, protocol=None\optional{, writeback=False\optional{, binary=None}}}}
+\begin{classdesc}{BsdDbShelf}{dict\optional{, protocol=None\optional{, writeback=False}}}
A subclass of \class{Shelf} which exposes \method{first},
\method{next}, \method{previous}, \method{last} and
the constructor must support those methods. This is generally
accomplished by calling one of \function{bsddb.hashopen},
\function{bsddb.btopen} or \function{bsddb.rnopen}. The optional
-\var{protocol}, \var{writeback}, and \var{binary} parameters have the
+\var{protocol} and \var{writeback} parameters have the
same interpretation as for the \class{Shelf} class.
\end{classdesc}
-\begin{classdesc}{DbfilenameShelf}{filename\optional{, flag='c'\optional{, protocol=None\optional{, writeback=False\optional{, binary=None}}}}}
+\begin{classdesc}{DbfilenameShelf}{filename\optional{, flag='c'\optional{, protocol=None\optional{, writeback=False}}}}
A subclass of \class{Shelf} which accepts a \var{filename} instead of
a dict-like object. The underlying file will be opened using
{}\function{anydbm.open}. By default, the file will be created and
opened for both read and write. The optional \var{flag} parameter has
the same interpretation as for the \function{open} function. The
-optional \var{protocol}, \var{writeback}, and \var{binary} parameters
+optional \var{protocol} and \var{writeback} parameters
have the same interpretation as for the \class{Shelf} class.
\end{classdesc}
See the module's __doc__ string for an overview of the interface.
"""
- def __init__(self, dict, protocol=None, writeback=False, binary=None):
+ def __init__(self, dict, protocol=None, writeback=False):
self.dict = dict
- if protocol is not None and binary is not None:
- raise ValueError, "can't specify both 'protocol' and 'binary'"
- if binary is not None:
- warnings.warn("The 'binary' argument to Shelf() is deprecated",
- PendingDeprecationWarning)
- protocol = int(binary)
if protocol is None:
protocol = 0
self._protocol = protocol
See the module's __doc__ string for an overview of the interface.
"""
- def __init__(self, dict, protocol=None, writeback=False, binary=None):
- Shelf.__init__(self, dict, protocol, writeback, binary)
+ def __init__(self, dict, protocol=None, writeback=False):
+ Shelf.__init__(self, dict, protocol, writeback)
def set_location(self, key):
(key, value) = self.dict.set_location(key)
See the module's __doc__ string for an overview of the interface.
"""
- def __init__(self, filename, flag='c', protocol=None, writeback=False, binary=None):
+ def __init__(self, filename, flag='c', protocol=None, writeback=False):
import anydbm
- Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback, binary)
+ Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback)
-def open(filename, flag='c', protocol=None, writeback=False, binary=None):
+def open(filename, flag='c', protocol=None, writeback=False):
"""Open a persistent dictionary for reading and writing.
The filename parameter is the base filename for the underlying
anydbm.open(). The optional protocol parameter specifies the
version of the pickle protocol (0, 1, or 2).
- The optional binary parameter is deprecated and may be set to True
- to force the use of binary pickles for serializing data values.
-
See the module's __doc__ string for an overview of the interface.
"""
- return DbfilenameShelf(filename, flag, protocol, writeback, binary)
+ return DbfilenameShelf(filename, flag, protocol, writeback)
def test_ascii_file_shelf(self):
try:
- s = shelve.open(self.fn, binary=False)
+ s = shelve.open(self.fn, protocol=0)
s['key1'] = (1,2,3,4)
self.assertEqual(s['key1'], (1,2,3,4))
s.close()
def test_binary_file_shelf(self):
try:
- s = shelve.open(self.fn, binary=True)
+ s = shelve.open(self.fn, protocol=1)
s['key1'] = (1,2,3,4)
self.assertEqual(s['key1'], (1,2,3,4))
s.close()
def test_in_memory_shelf(self):
d1 = {}
- s = shelve.Shelf(d1, binary=False)
+ s = shelve.Shelf(d1, protocol=0)
s['key1'] = (1,2,3,4)
self.assertEqual(s['key1'], (1,2,3,4))
s.close()
d2 = {}
- s = shelve.Shelf(d2, binary=True)
+ s = shelve.Shelf(d2, protocol=1)
s['key1'] = (1,2,3,4)
self.assertEqual(s['key1'], (1,2,3,4))
s.close()
os.unlink(f)
class TestAsciiFileShelve(TestShelveBase):
- _args={'binary':False}
+ _args={'protocol':0}
_in_mem = False
class TestBinaryFileShelve(TestShelveBase):
- _args={'binary':True}
+ _args={'protocol':1}
_in_mem = False
class TestProto2FileShelve(TestShelveBase):
_args={'protocol':2}
_in_mem = False
class TestAsciiMemShelve(TestShelveBase):
- _args={'binary':False}
+ _args={'protocol':0}
_in_mem = True
class TestBinaryMemShelve(TestShelveBase):
- _args={'binary':True}
+ _args={'protocol':1}
_in_mem = True
class TestProto2MemShelve(TestShelveBase):
_args={'protocol':2}
Library
-------
+- the shelve module no longer uses the deprecated binary parameter.
+
- the pstats module no longer uses the deprecated ignore() method.
- the filecmp module no longer uses the deprecated use_statcache argument.