我创建了一个 Berkeley 数据库,并使用 bsddb 模块对其进行操作。我需要以某种样式存储信息,如下所示:
username = '....'
notes = {'name_of_note1':{
'password':'...',
'comments':'...',
'title':'...'
}
'name_of_note2':{
#keys same as previous, but another values
}
}
这就是我打开数据库的方式
db = bsddb.btopen['data.db','c']
我该怎么做?
最佳答案
所以,首先,我想你应该使用括号打开数据库:
db = bsddb.btopen('data.db','c')
请记住,伯克利的模式是键 -> 值,其中键和值都是字符串对象(不是 unicode)。根据您的情况,最好的方法是使用:
db[str(username)] = json.dumps(notes)
因为您的笔记与 json 语法兼容。
但是,如果您只想查询用户名的评论,这不是一个很好的选择。您应该使用关系数据库,例如 sqlite,它也是 Python 内置的。
关于python - 将字典存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21934806/