⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 copy_reg.py

📁 mallet是自然语言处理、机器学习领域的一个开源项目。
💻 PY
字号:
"""Helper to provide extensibility for pickle/cPickle.This is only useful to add pickle support for extension types defined inC, not for instances of user-defined classes."""from types import ClassType as _ClassType__all__ = ["pickle","constructor"]dispatch_table = {}safe_constructors = {}def pickle(ob_type, pickle_function, constructor_ob=None):    if type(ob_type) is _ClassType:        raise TypeError("copy_reg is not intended for use with classes")    if not callable(pickle_function):        raise TypeError("reduction functions must be callable")    dispatch_table[ob_type] = pickle_function    if constructor_ob is not None:        constructor(constructor_ob)def constructor(object):    if not callable(object):        raise TypeError("constructors must be callable")    safe_constructors[object] = 1# Example: provide pickling support for complex numbers.def pickle_complex(c):    return complex, (c.real, c.imag)pickle(type(1j), pickle_complex, complex)# Support for picking new-style objectsdef _reconstructor(cls, base, state):    obj = base.__new__(cls, state)    base.__init__(obj, state)    return obj_reconstructor.__safe_for_unpickling__ = 1_HEAPTYPE = 1<<9def _reduce(self):    for base in self.__class__.__mro__:        if hasattr(base, '__flags__') and not base.__flags__ & _HEAPTYPE:            break    else:        base = object # not really reachable    if base is object:        state = None    else:        if base is self.__class__:            raise TypeError, "can't pickle %s objects" % base.__name__        state = base(self)    args = (self.__class__, base, state)    try:        getstate = self.__getstate__    except AttributeError:        try:            dict = self.__dict__        except AttributeError:            dict = None    else:        dict = getstate()    if dict:        return _reconstructor, args, dict    else:        return _reconstructor, args

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -