You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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?
Pickled files should *always* be used in binary mode.
The 3.0 pickle documentation states this:
"Be sure to always open pickle files created with protocols >= 1 in
binary mode. For the old ASCII-based pickle protocol 0 you can use
either text mode or binary mode as long as you stay consistent.
A pickle file written with protocol 0 in binary mode will contain lone
linefeeds as line terminators and therefore will look “funny” when
viewed in Notepad or other editors which do not support this format."
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: