[Python-checkins] cpython (2.7): #11481: update copy_reg docs and add example.
ezio.melotti
python-checkins at python.org
Thu Nov 8 10:06:31 CET 2012
http://hg.python.org/cpython/rev/2bd6150b48ea
changeset: 80302:2bd6150b48ea
branch: 2.7
parent: 80297:58564aeec8e4
user: Ezio Melotti <ezio.melotti at gmail.com>
date: Thu Nov 08 10:59:03 2012 +0200
summary:
#11481: update copy_reg docs and add example.
files:
Doc/library/copy_reg.rst | 31 +++++++++++++++++++++++----
1 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/Doc/library/copy_reg.rst b/Doc/library/copy_reg.rst
--- a/Doc/library/copy_reg.rst
+++ b/Doc/library/copy_reg.rst
@@ -14,11 +14,11 @@
module: cPickle
module: copy
-The :mod:`copy_reg` module provides support for the :mod:`pickle` and
-:mod:`cPickle` modules. The :mod:`copy` module is likely to use this in the
-future as well. It provides configuration information about object constructors
-which are not classes. Such constructors may be factory functions or class
-instances.
+The :mod:`copy_reg` module offers a way to define fuctions used while pickling
+specific objects. The :mod:`pickle`, :mod:`cPickle, and :mod:`copy` modules
+use those functions when pickling/copying those objects. The module provides
+configuration information about object constructors which are not classes.
+Such constructors may be factory functions or class instances.
.. function:: constructor(object)
@@ -43,3 +43,24 @@
See the :mod:`pickle` module for more details on the interface expected of
*function* and *constructor*.
+Example
+-------
+
+The example below would like to show how to register a pickle function and how
+it will be used:
+
+ >>> import copy_reg, copy, pickle
+ >>> class C(object):
+ ... def __init__(self, a):
+ ... self.a = a
+ ...
+ >>> def pickle_c(c):
+ ... print("pickling a C instance...")
+ ... return C, (c.a,)
+ ...
+ >>> copy_reg.pickle(C, pickle_c)
+ >>> c = C(1)
+ >>> d = copy.copy(c)
+ pickling a C instance...
+ >>> p = pickle.dumps(c)
+ pickling a C instance...
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list