[Python-3000-checkins] [issue3799] Re: r67310 - in python/branches/py3k: Lib/dbm/dumb.py Lib/test/test_dbm_dumb.py Misc/NEWS
Guido van Rossum
guido at python.org
Fri Nov 21 16:44:54 CET 2008
I think the ability to read old files is essential. The ability to
write them is a mer nice-to-have.
On Fri, Nov 21, 2008 at 7:36 AM, <skip at pobox.com> wrote:
>
> me> ... I thought Guido was of the opinion that the 3.0 version should
> me> be able to read dumb dbms written by earlier Python versions....
>
> And write them. From msg72963:
>
> (1) Be able to read databases written by Python 2.x.
>
> (1a) Write databases readable by Python 2.x.
>
> Ah, but wait a minute. I see your comment in msg76080:
>
> If you look at the 2.7 code all it requires of keys and values in
> __setitem__ is that they are strings; there is nothing about Latin-1 in
> terms of specific encoding (must be a 3.0 addition to make the
> str/unicode transition the easiest).
>
> The acid test. I executed the attached mydb2write.py using Python 2.5 then
> executed the attached mydb3read.py using Python 3.0. The output:
>
> % python2.5 mydb2write.py
> 1 abc
> 2 [4, {4.2999999999999998: 12}]
> 3 <__main__.C instance at 0x34bb70>
> % python3.0 mydb3read.py
> 1 b'abc'
> 2 [4, {4.2999999999999998: 12}]
> Traceback (most recent call last):
> File "mydb3read.py", line 13, in <module>
> print(3, pickle.loads(db['3']))
> File "/Users/skip/local/lib/python3.0/pickle.py", line 1329, in loads
> return Unpickler(file, encoding=encoding, errors=errors).load()
> _pickle.UnpicklingError: bad pickle data
>
> so if the ability to read Python 2.x dumbdbm files is still a requirement I
> think there's a little more work to do.
>
> cc'ing report at bugs.python.org to preserve the scripts with the ticket.
>
> Skip
>
>
> _______________________________________________
> Python-3000-checkins mailing list
> Python-3000-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-3000-checkins
>
>
--
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-3000-checkins
mailing list