не может быть определен тип базы данных полки, который не распознает базу данных
Почему shelve вызывает ошибку, если я пытаюсь открыть файл, созданный 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()
Я использую Python 2.5 в случае, если это актуально
Точная ошибка вызывает:
db type could not be determined
его поднялanydbm.py
open
метод.
Я знаю это; использую gdbm. Я проверил файл whichdb.py, и он пытается идентифицировать файлы GDBM с этим
# 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"
Но «магическое» число в моем файле324508367
(0x13579acf
) (только последнее изменение цифры !!)
Я попытался открыть файл на другом языке (ruby), и я смог открыть его без каких-либо проблем, так что это похоже на ошибку, в которой файл db.py пытается определить правильный dbm