2009-11-30 21 views
2

J'utilise cdb pour une base de données constante en python. Je voudrais associer des id entiers avec des chaînes, et je voudrais éviter de stocker chacun de ces id entiers comme des chaînes, et les stocker plutôt comme un entier. cdb est à la recherche d'une chaîne ou d'un tampon en lecture seule. Y at-il un moyen que je peux stocker ces clés comme des entiers au lieu de chaînes?Python entier en tampon en lecture seule

Par exemple:

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) 

Répondre

4

Selon le cdb website la base de données ne prend que des chaînes comme clés

PEH est un tableau associatif: mappe cordes (touches) à cordes (données).

Vous devrez donc d'abord convertir les entiers en chaînes. Je vous suggère d'envelopper le str dans une fonction utilitaire et d'oublier les frais généraux.