A bug in cPickle?

Chris Cioffi evenprimes at gmail.com
Wed May 16 13:33:08 EDT 2007


On 16 May 2007 10:06:20 -0700, Victor Kryukov <victor.kryukov at gmail.com> wrote:
> Hello list,
>
> The following behavior is completely unexpected. Is it a bug or a by-
> design feature?
>
> Regards,
> Victor.
>
> -----------------
>
> from pickle import dumps
> from cPickle import dumps as cdumps
>
> print dumps('1001799')==dumps(str(1001799))
> print cdumps('1001799')==cdumps(str(1001799))
>
> >>>>output:>>>>
> True
> False
>


Python 2.4 gives the same behavior on Windows:

ActivePython 2.4.3 Build 12 (ActiveState Software Inc.) based on
Python 2.4.3 (#69, Apr 11 2006, 15:32:42) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from pickle import dumps
>>> from cPickle import dumps as cdumps
>>> print dumps('1001799') == dumps(str(1001799))
True
>>> print cdumps('1001799') == cdumps(str(1001799))
False
>>> print cdumps('1001799')
S'1001799'
p1
.
>>> print cdumps(str(1001799))
S'1001799'
.
>>> print dumps('1001799')
S'1001799'
p0
.
>>> print dumps(str(1001799))
S'1001799'
p0
.

This does seem odd, at the very least.

Chris
-- 
"A little government and a little luck are necessary in life, but only
a fool trusts either of them." -- P. J. O'Rourke



More information about the Python-list mailing list