質問

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)
役に立ちましたか?

解決

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

  

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top