no se pudo determinar el tipo de db de la estantería, que db no reconoce gdb

¿Por qué Shelve genera un error si intento abrir un archivo creado por Shelve?

import shelve
info_file_name = "/Users/bacon/myproject/temp/test.info"

info_file = shelve.open(info_file_name)
info_file['ok'] = 'wass'
info_file.close()

info_file = shelve.open(info_file_name) # raise exception db type could not be determined..
info_file.close()

Estoy ejecutando Python 2.5 en caso de que sea relevante

El error preciso que está planteando es:

db type could not be determined es criado poranydbm.py open método.

Lo sé; s está usando gdbm. Revisé el archivo whichdb.py e intenta identificar los archivos gdbm con esto

 # Read the start of the file -- the magic number
s16 = f.read(16)
s = s16[0:4]

# Convert to 4-byte int in native byte order -- return "" if impossible
(magic,) = struct.unpack("=l", s)

# Check for GNU dbm
if magic == 0x13579ace:
    return "gdbm"

Pero el número "mágico" en mi archivo es324508367 (0x13579acf) (solo el último cambio de dígitos !!)

Intenté abrir el archivo con otro idioma (ruby) y pude abrirlo sin ningún problema, por lo que parece ser un error en el que db.py intenta identificar el dbm correcto

Respuestas a la pregunta(1)

Su respuesta a la pregunta