Python整数到只读缓冲区

时间:2009-11-30 22:03:19

标签: python binary cdb

我在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)

1 个答案:

答案 0 :(得分:4)

根据cdb website,数据库只将字符串作为键

  

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

所以你必须先将整数转换为字符串。我建议你将str包装在效用函数中,忘掉开销。