[Python-Dev] when is binary mode required for pickle? (original) (raw)

Tim Peters tim.one@comcast.net
Thu, 13 Feb 2003 10:14:39 -0500


[Gareth McCaughan]

Suggestion: pickle.LATESTPROTOCOL = cPickle.LATESTPROTOCOL = -1 ? (It could be spelled differently.) Or the string value "latest" could be an acceptable value of proto. Or something. Anything rather than magic numbers. :-)

I'm going to add HIGHEST_PROTOCOL = 2 for 2.3 -- thanks for the idea.

Note that it doesn't address quite the same problem, though: it won't exist before 2.3, so current code can't use it. You can pass -1 today to get the highest protocol available (more by accident than by design), and your code will continue to get the highest available in 2.3 without further ado. BTW, -1 didn't bother me: I viewed it as indexing into a (conceptual) list of available protocol numbers. -1 generally has a "get the last" meaning, and we'll conveniently ignore that -716 had the same meaning here .