[Python-checkins] python/dist/src/Lib pickle.py,1.135,1.136
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Fri, 31 Jan 2003 11:42:35 -0800
Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv2775
Modified Files:
pickle.py
Log Message:
Change the default protocol back to 0.
Add a feature suggested by Tim: a negative protocol value means to use
the largest protocol value supported.
Index: pickle.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/pickle.py,v
retrieving revision 1.135
retrieving revision 1.136
diff -C2 -d -r1.135 -r1.136
*** pickle.py 31 Jan 2003 18:53:21 -0000 1.135
--- pickle.py 31 Jan 2003 19:42:31 -0000 1.136
***************
*** 168,183 ****
class Pickler:
! def __init__(self, file, proto=1):
"""This takes a file-like object for writing a pickle data stream.
The optional proto argument tells the pickler to use the given
protocol; supported protocols are 0, 1, 2. The default
! protocol is 1 (in previous Python versions the default was 0).
Protocol 1 is more efficient than protocol 0; protocol 2 is
! more efficient than protocol 1. Protocol 2 is not the default
! because it is not supported by older Python versions.
! XXX Protocol 2 is not yet implemented.
The file parameter must have a write() method that accepts a single
--- 168,185 ----
class Pickler:
! def __init__(self, file, proto=0):
"""This takes a file-like object for writing a pickle data stream.
The optional proto argument tells the pickler to use the given
protocol; supported protocols are 0, 1, 2. The default
! protocol is 0, to be backwards compatible. (Protocol 0 is the
! only protocol that can be written to a file opened in text
! mode and read back successfully.)
Protocol 1 is more efficient than protocol 0; protocol 2 is
! more efficient than protocol 1.
! Specifying a negative protocol version selects the highest
! protocol version supported.
The file parameter must have a write() method that accepts a single
***************
*** 186,190 ****
"""
! if proto not in (0, 1, 2):
raise ValueError, "pickle protocol must be 0, 1 or 2"
self.write = file.write
--- 188,194 ----
"""
! if proto < 0:
! proto = 2
! elif proto not in (0, 1, 2):
raise ValueError, "pickle protocol must be 0, 1 or 2"
self.write = file.write
***************
*** 1456,1463 ****
from StringIO import StringIO
! def dump(obj, file, proto=1):
Pickler(file, proto).dump(obj)
! def dumps(obj, proto=1):
file = StringIO()
Pickler(file, proto).dump(obj)
--- 1460,1467 ----
from StringIO import StringIO
! def dump(obj, file, proto=0):
Pickler(file, proto).dump(obj)
! def dumps(obj, proto=0):
file = StringIO()
Pickler(file, proto).dump(obj)