Add Pickler.clear_memo() so the pickle and cPickle modules are more similar.
This commit is contained in:
parent
56aa6280f6
commit
7f781c9aab
|
@ -237,15 +237,20 @@ remembers which objects the pickler has already seen, so that shared
|
|||
or recursive objects pickled by reference and not by value. This
|
||||
method is useful when re-using picklers.
|
||||
|
||||
\strong{Note:} \method{clear_memo()} is only available on the picklers
|
||||
created by \module{cPickle}. In the \module{pickle} module, picklers
|
||||
have an instance variable called \member{memo} which is a Python
|
||||
dictionary. So to clear the memo for a \module{pickle} module
|
||||
\begin{notice}
|
||||
Prior to Python 2.3, \method{clear_memo()} was only available on the
|
||||
picklers created by \refmodule{cPickle}. In the \module{pickle} module,
|
||||
picklers have an instance variable called \member{memo} which is a
|
||||
Python dictionary. So to clear the memo for a \module{pickle} module
|
||||
pickler, you could do the following:
|
||||
|
||||
\begin{verbatim}
|
||||
mypickler.memo.clear()
|
||||
\end{verbatim}
|
||||
|
||||
Code that does not need to support older versions of Python should
|
||||
simply use \method{clear_memo()}.
|
||||
\end{notice}
|
||||
\end{methoddesc}
|
||||
|
||||
It is possible to make multiple calls to the \method{dump()} method of
|
||||
|
|
|
@ -115,6 +115,9 @@ class Pickler:
|
|||
self.memo = {}
|
||||
self.bin = bin
|
||||
|
||||
def clear_memo(self):
|
||||
self.memo.clear()
|
||||
|
||||
def dump(self, object):
|
||||
self.save(object)
|
||||
self.write(STOP)
|
||||
|
|
|
@ -99,6 +99,9 @@ Extension modules
|
|||
|
||||
Library
|
||||
|
||||
- The pickle.Pickler class grew a clear_memo() method to mimic that
|
||||
provided by cPickle.Pickler.
|
||||
|
||||
- difflib's SequenceMatcher class now does a dynamic analysis of
|
||||
which elements are so frequent as to constitute noise. For
|
||||
comparing files as sequences of lines, this generally works better
|
||||
|
|
Loading…
Reference in New Issue