Sion Arrowsmith wrote: > > This is a documented behaviour of shelve:
Sorry, I had read only the: """Open a persistent dictionary. The filename specified is the base filename""" ... :) > I guess this depends on what dbm shelve is built on the documentation > implies it goes through anydbm. I'm not seeing this behaviour on my > Debian 3.1 In my tries, I see that if I use a "simple" script that open, use and save the shelve data, it work without problems, but if I use shelve into my application, I has this behaviour. (and I fail to understand why > it is a problem). > Because: 1) I pass a name that, after, I'll pass to another program and if shelve change the name, the latter can't read it (it doesn't exists!) 2) I can't read those files with shelve! If I try... : >>> shelve.open("test.dat") Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.3/shelve.py", line 231, in open return DbfilenameShelf(filename, flag, protocol, writeback, binary) File "/usr/lib/python2.3/shelve.py", line 212, in __init__ Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback, binary) File "/usr/lib/python2.3/anydbm.py", line 80, in open raise error, "db type could not be determined" anydbm.error: db type could not be determined And this with all the three types. Thanks, Michele -- http://mail.python.org/mailman/listinfo/python-list