Maurice LING wrote: > Sorry for not specifying clearly enough. Given that copy_reg lets you > specify arbitrary code to serialize arbitrary objects, of which some are > taken care of by pickle, in the set of possible Python types,
the types module contains a selection of type objects; the set of possible types that you may have in a Python program is unbounded. > What types cannot be serialized by pickle (besides CodeType) and > requires handling using copy_reg? import types, pickle, sys for t in dir(types): try: if t == "BufferType": o = buffer("hello") elif t == "EllipsisType": o = Ellipsis elif t == "FileType": o = file("hello.txt", "w") elif t == "NoneType": o = None elif t == "SliceType": o = slice(0,0,0) elif t == "XRangeType": o = xrange(0,0,1) else: o = getattr(types, t)() except: print t, "FAILED:", sys.exc_value else: try: s = pickle.dumps(o) except: print t, "FAILED:", str(sys.exc_value).upper() else: print t, "OK" should give you an idea (feel free to add more object factories) </F> -- http://mail.python.org/mailman/listinfo/python-list