2

我在 python 中使用 cdb 作为常量数据库。我想将整数 id 与一些字符串相关联,并且我想避免将每个整数 id 存储为字符串,而是将它们存储为整数。cdb 虽然正在寻找字符串或只读缓冲区。有没有办法可以将这些键存储为整数而不是字符串?

例如:

cdb = cdb.cdbmake("test.cdb","test.cdb.tmp")
key = 5
value = "some test string"

#this throws an error
maker.add(key,value)
#TypeError: add() argument 1 must be string or read-only buffer, not int

#this would work, but seems inefficient
maker.add(str(key),value)
4

1 回答 1

4

根据cdb 网站,数据库仅将字符串作为键

cdb 是一个关联数组:它将字符串(键)映射到字符串(数据)。

因此,您必须先将整数转换为字符串。我建议您将其包装str在一个实用程序函数中而忘记开销。

于 2009-11-30T22:09:58.730 回答