diff options
author | Tim Peters <tim.peters@gmail.com> | 2003-02-01 16:45:06 +0000 |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2003-02-01 16:45:06 +0000 |
commit | 5bd2a79b2229fb1cb9eeffd8906a9c46cc11f05c (patch) | |
tree | 465757a7e486b33eb49980df5b95a19211a5d8c2 /Lib/pickle.py | |
parent | a212c5c37ff7e24c5d30a4fea1a13c79d176f50e (diff) | |
download | cpython-git-5bd2a79b2229fb1cb9eeffd8906a9c46cc11f05c.tar.gz |
The C pickle now knows how to deal with a proto= argument. Assorted
code cleanups, and purged more references to text-vs-binary modes.
Diffstat (limited to 'Lib/pickle.py')
-rw-r--r-- | Lib/pickle.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/Lib/pickle.py b/Lib/pickle.py index 45bc38c625..92b4802e7e 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -174,13 +174,17 @@ class Pickler: 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.) + mode and read back successfully. When using a protocol higher + than 0, make sure the file is opened in binary mode, both when + pickling and unpickling.) 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. + protocol version supported. The higher the protocol used, the + more recent the version of Python needed to read the pickle + produced. The file parameter must have a write() method that accepts a single string argument. It can thus be an open file object, a StringIO @@ -209,12 +213,7 @@ class Pickler: self.memo.clear() def dump(self, obj): - """Write a pickled representation of obj to the open file. - - Either the binary or ASCII format will be used, depending on the - value of the bin flag passed to the constructor. - - """ + """Write a pickled representation of obj to the open file.""" if self.proto >= 2: self.write(PROTO + chr(self.proto)) self.save(obj) @@ -931,9 +930,8 @@ class Unpickler: def __init__(self, file): """This takes a file-like object for reading a pickle data stream. - This class automatically determines whether the data stream was - written in binary mode or not, so it does not need a flag as in - the Pickler class factory. + The protocol version of the pickle is detected automatically, so no + proto argument is needed. The file-like object must have two methods, a read() method that takes an integer argument, and a readline() method that requires no |