A bug in cPickle?

Nick Craig-Wood nick at craig-wood.com
Thu May 17 07:30:05 EDT 2007


Victor Kryukov <victor.kryukov at gmail.com> wrote:
>  The following behavior is completely unexpected. Is it a bug or a by-
>  design feature?
> 
>  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

Does it matter since it is decoded properly?

>>> import pickle
>>> import cPickle
>>> cPickle.dumps('1001799')
"S'1001799'\np1\n."
>>> pickle.dumps('1001799')
"S'1001799'\np0\n."

>>> pickle.loads(pickle.dumps('1001799'))
'1001799'
>>> pickle.loads(cPickle.dumps('1001799'))
'1001799'
>>> cPickle.loads(pickle.dumps('1001799'))
'1001799'
>>> cPickle.loads(cPickle.dumps('1001799'))
'1001799'
>>>


-- 
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick



More information about the Python-list mailing list