Add Pickler.clear_memo() so the pickle and cPickle modules are more similar.

This commit is contained in:
Fred Drake 2002-05-01 20:33:53 +00:00
parent 56aa6280f6
commit 7f781c9aab
3 changed files with 15 additions and 4 deletions

View File

@ -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

View File

@ -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)

View File

@ -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