2016-03-23 14 views
0

dbm.dumbにインデックス変数を追加する際に問題があります。私は、インデックス変数の意味:私がしようとすると、次のコードを使用して、それに追加したときPython、dbm.dumbモジュールに可変インデックスを追加

var = b"string",b"string_one",b"string_two" 
var[0] #being an index variable 

:今すぐ

database = dbm.dumb.open(z ,'c') 


database["item 1"] = x[2],y[2] 
database["item 2"] = x[0],y[0] 
database["item 3"] = x[1],y[1] 

を、私は次のエラー

TypeError: values must be bytes or strings 

を取得し、私が試してみました変数が文字列になるようにキャストしていますが、それを実行することはありません。私は立ち往生している。

+0

変数をテストするには、 'type'コマンドを使用します。 'var'はタプルで、' var [0] 'は文字列です。これは入力として期待されます。しかし、コンマで区切られた2つの文字列を入力しています。それは文字列ではありません。 – roadrunner66

答えて

0

​​あなたのケースで使用するのに最適なライブラリではありません。 shelveはあなたの問題を解決します。

import shelve 

database = shelve.open('/tmp/test.db', 'c') 
database['item 1'] = [1, 2, 3] 
database['item 2'] = 'string values' 
database['item 3'] = {'name': 'Michael', 'lastname': 'Corbett'} 
+0

それに問題があります –

関連する問題