Python copyreg 模块
实例
为自定义类注册序列化支持:
import copyreg
import pickle
class Person:
def __init__(self, name):
self.name = name
def reduce_person(p):
return (Person, (p.name,))
copyreg.pickle(Person, reduce_person)
p = Person("Emil")
data = pickle.dumps(p)
q = pickle.loads(data)
print(type(q).__name__)
print(q.name)
亲自试一试 »
定义和用法
copyreg 模块提供了一种机制,用于注册类和类型的序列化函数。
使用它来控制 pickle 模块如何序列化和反序列化自定义对象。
成员
| 成员 | 描述 |
|---|---|
| add_extension() | 为模块和名称注册扩展代码。 |
| clear_extension_cache() | 清除扩展注册缓存。 |
| constructor() | 注册一个可调用对象作为序列化的有效构造函数。 |
| pickle() | 为类型注册一个归约函数。 |
| remove_extension() | 取消注册模块和名称的扩展代码。 |

