On 16 May 2007 10:06:20 -0700, Victor Kryukov <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list