我正在cdb中使用python中的常量数据库。我想将整数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)

最佳答案

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


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


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

关于python - Python整数到只读缓冲区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1822709/

10-12 18:13