|
1 :mod:`copy_reg` --- Register :mod:`pickle` support functions |
|
2 ============================================================ |
|
3 |
|
4 .. module:: copy_reg |
|
5 :synopsis: Register pickle support functions. |
|
6 |
|
7 .. note:: |
|
8 The :mod:`copy_reg` module has been renamed to :mod:`copyreg` in Python 3.0. |
|
9 The :term:`2to3` tool will automatically adapt imports when converting your |
|
10 sources to 3.0. |
|
11 |
|
12 .. index:: |
|
13 module: pickle |
|
14 module: cPickle |
|
15 module: copy |
|
16 |
|
17 The :mod:`copy_reg` module provides support for the :mod:`pickle` and |
|
18 :mod:`cPickle` modules. The :mod:`copy` module is likely to use this in the |
|
19 future as well. It provides configuration information about object constructors |
|
20 which are not classes. Such constructors may be factory functions or class |
|
21 instances. |
|
22 |
|
23 |
|
24 .. function:: constructor(object) |
|
25 |
|
26 Declares *object* to be a valid constructor. If *object* is not callable (and |
|
27 hence not valid as a constructor), raises :exc:`TypeError`. |
|
28 |
|
29 |
|
30 .. function:: pickle(type, function[, constructor]) |
|
31 |
|
32 Declares that *function* should be used as a "reduction" function for objects of |
|
33 type *type*; *type* must not be a "classic" class object. (Classic classes are |
|
34 handled differently; see the documentation for the :mod:`pickle` module for |
|
35 details.) *function* should return either a string or a tuple containing two or |
|
36 three elements. |
|
37 |
|
38 The optional *constructor* parameter, if provided, is a callable object which |
|
39 can be used to reconstruct the object when called with the tuple of arguments |
|
40 returned by *function* at pickling time. :exc:`TypeError` will be raised if |
|
41 *object* is a class or *constructor* is not callable. |
|
42 |
|
43 See the :mod:`pickle` module for more details on the interface expected of |
|
44 *function* and *constructor*. |
|
45 |