Issue 26370: shelve filename inconsistent between platforms (original) (raw)

shelve.open("foo.db") creates "foo.db" on Linux and "foo.db.db" on OSX.

Something to that extent is even documented: """d = shelve.open(filename) # open, with (g)dbm filename -- no suffix""" and """As a side-effect, an extension may be added to the filename and more than one file may be created."""

Still, it's super-quirky, it's almost as if the message was "don't use shelve."

Some ways out: