Python Ganzzahl zu schreibgeschützt Puffer
Frage
Ich bin mit cdb für eine konstante Datenbank in Python. Ich möchte integer ids mit einigen Strings verknüpfen, und ich würde jede dieser ganze Zahl ids als Strings zu vermeiden, wie die Speicherung und stattdessen speichern sie als Integer. cdb obwohl sucht entweder einen String oder ein Nur-Lese-Puffer. Gibt es eine Möglichkeit, dass ich diesen Schlüssel als ganze Zahlen anstelle von Strings speichern kann?
Zum Beispiel:
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)
Lösung
Nach der cdb Website die Datenbank nur Strings als Schlüssel nimmt
A CDB ist ein assoziatives Array. Es bildet Saiten (Schlüssel) in Strings (Daten)
So Sie zuerst die ganzen Zahlen in Strings konvertieren müssen. Ich schlage vor, Sie str
in einer Nutzenfunktion wickeln und vergessen Sie den Overhead.