[Python-3000] Bug in pickling range objects ?

Anand Balachandran Pillai abpillai at gmail.com
Tue Apr 8 14:28:55 CEST 2008


Found this behavior in py3k, a4...

Python 3.0a4+ (py3k:62126, Apr  3 2008, 16:28:40)
[GCC 4.1.2 20070626 (Red Hat 4.1.2-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> r=range(10)
>>> import pickle
>>> pickle.dumps(r)
b'\x80\x03cbuiltins\nrange\nq\x00)\x81q\x01.'
>>> pickle.loads(pickle.dumps(r))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.0/pickle.py", line 1341, in loads
    return Unpickler(file).load()
  File "/usr/local/lib/python3.0/pickle.py", line 823, in load
    dispatch[key[0]](self)
  File "/usr/local/lib/python3.0/pickle.py", line 1055, in load_newobj
    obj = cls.__new__(cls, *args)
TypeError: range expected 1 arguments, got 0
>>>

Looks like a bug in unpickling range objects. Should I report this ?

Thanks
-- 
-Anand


More information about the Python-3000 mailing list