【问题标题】:Python, add variable index to dbm.dumb modulePython,将变量索引添加到 dbm.dumb 模块
【发布时间】:2016-03-23 18:33:21
【问题描述】:

我在向 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

我尝试将变量转换为字符串,但它不会让它通过。我被卡住了。

【问题讨论】:

  • 使用type 命令测试您的变量。 var 是一个元组,var[0] 是一个字符串,应该作为输入。但是您输入的是用逗号分隔的两个字符串。那不是字符串。

标签: python string variables dbm


【解决方案1】:

dbm 不是在您的情况下使用的最佳库。 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'}

【讨论】:

  • 问题在于我使用 dbm
猜你喜欢
  • 2011-01-25
  • 1970-01-01
  • 1970-01-01
  • 2013-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-14
  • 2011-06-16
相关资源
最近更新 更多