代码之家  ›  专栏  ›  技术社区  ›  Bryan Ward

python整数到只读缓冲区

  •  2
  • Bryan Ward  · 技术社区  · 15 年前

    我正在用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)
    
    1 回复  |  直到 15 年前
        1
  •  4
  •   Nick Craig-Wood    15 年前

    根据 cdb website 数据库只接受字符串作为键

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

    所以你必须先把整数转换成字符串。我建议你把 str 在实用程序函数中,忽略开销。

    推荐文章