Python 整数转只读缓冲区
我在用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 个回答
4
根据cdb 网站的说法,这个数据库只接受字符串作为键。
cdb 是一种关联数组:它把字符串(键)映射到字符串(数据)。
所以你需要先把整数转换成字符串。我建议你把 str
包装成一个工具函数,这样就不用担心额外的开销了。