diff options
author | Guido van Rossum <guido@python.org> | 2007-04-11 05:40:58 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-04-11 05:40:58 +0000 |
commit | 0dd32e246cd232012d07926ae312205decb74b61 (patch) | |
tree | baf67ba755cabaf97a021dd4823087303e7ee5e3 /Lib | |
parent | 0ad0812edb3b4023f3e410243c007fba3f84a9ff (diff) | |
download | cpython-git-0dd32e246cd232012d07926ae312205decb74b61.tar.gz |
Real pickling for bytes.
Restore complex pickling.
Use cPickle in io.py.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/copy_reg.py | 14 | ||||
-rw-r--r-- | Lib/io.py | 6 |
2 files changed, 15 insertions, 5 deletions
diff --git a/Lib/copy_reg.py b/Lib/copy_reg.py index 8760e620f9..f4661edf41 100644 --- a/Lib/copy_reg.py +++ b/Lib/copy_reg.py @@ -23,12 +23,18 @@ def constructor(object): if not callable(object): raise TypeError("constructors must be callable") -# Example: provide pickling support for bytes objects. +# Example: provide pickling support for complex numbers. -def _pickle_bytes(b): - return bytes, (str(b),) +try: + complex +except NameError: + pass +else: -pickle(bytes, _pickle_bytes) + def pickle_complex(c): + return complex, (c.real, c.imag) + + pickle(complex, pickle_complex, complex) # Support for pickling new-style objects @@ -30,10 +30,14 @@ __all__ = ["BlockingIOError", "open", "IOBase", "RawIOBase", "FileIO", import os import sys import codecs -import pickle import _fileio import warnings +try: + import cPickle as pickle +except ImportError: + import pickle + # XXX Shouldn't we use st_blksize whenever we can? DEFAULT_BUFFER_SIZE = 8 * 1024 # bytes |