mirror of
https://github.com/python/cpython.git
synced 2025-11-03 03:22:27 +00:00
Real pickling for bytes.
Restore complex pickling. Use cPickle in io.py.
This commit is contained in:
parent
0ad0812edb
commit
0dd32e246c
3 changed files with 29 additions and 6 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue