2

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)
4

1 に答える 1

4

cdb Web サイトによると、データベースは文字列のみをキーとして受け取ります

cdb は連想配列です。文字列 (キー) を文字列 (データ) にマップします。

したがって、最初に整数を文字列に変換する必要があります。ユーティリティ関数でラップしstr、オーバーヘッドを忘れることをお勧めします。

于 2009-11-30T22:09:58.730 に答える