[New-bugs-announce] [issue3903] pickle error in python3.0rc1
Georg Grafendorfer
report at bugs.python.org
Thu Sep 18 22:58:35 CEST 2008
New submission from Georg Grafendorfer <guruvienna at hotmail.com>:
Hi all,
I compiled Python3.0rc1 with the usual ./configure make make test make
install on my Athlon XP 1800 (32 bit), using Debian Etch as OS, the
following works on Python2.4 (default in Debian Etch), but not with
Python3.0rc1:
>>> import pickle
>>> d = {'ID':345, 'AD':'Hallo'}
>>> f = open('test.hhh', 'wb')
>>> pickle.dump(d,f,2)
>>> f.close()
>>> f = open('test.hhh', 'r')
>>> pickle.load(f)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.0/pickle.py", line 1325, in load
return Unpickler(file, encoding=encoding, errors=errors).load()
File "/usr/local/lib/python3.0/io.py", line 1728, in read
eof = not self._read_chunk()
File "/usr/local/lib/python3.0/io.py", line 1557, in _read_chunk
self._set_decoded_chars(self._decoder.decode(input_chunk, eof))
File "/usr/local/lib/python3.0/io.py", line 1294, in decode
output = self.decoder.decode(input, final=final)
File "/usr/local/lib/python3.0/codecs.py", line 300, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0:
unexpected code byte
>>>
the same if you specifiy protocol number 3, it works also in
Python3.0rc1 if you specifiy 'rb' instead of 'r' as file opening method,
but according to the Python library reference it should work also with
'r'. How should one know with which protocol the object was pickled?
Thanks very much,
Georg
----------
components: Extension Modules
messages: 73399
nosy: Georg
severity: normal
status: open
title: pickle error in python3.0rc1
type: behavior
versions: Python 3.0
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3903>
_______________________________________
More information about the New-bugs-announce
mailing list