如何在货架上设置价值

How to set value in shelve

我想将字典存储在搁置中,还想将数据放入其中。我该怎么做?

import shelve

s = shelve.open("test")
s['flag'] = {}

您不能直接编辑值,因此您必须更新副本然后重新设置它:

import shelve

s = shelve.open("test")
s['flag'] = {}
temp = s['flag']
temp['foo'] = 'bar'
s['flag'] = temp

你做不到

s['flag']['foo'] = 'bar'

直接因为s['flag']returns复制了

这里我尝试将数据存入shelve,甚至更新。 它的工作。 如果这不是您的问题。那么请详细说明

import shelve

s = shelve.open("test")
s['flag'] = {"sda":11}
data = s["flag"]
print(data)
s['flag'] = {"sda":12}
data = s["flag"]
print(data)
s.close()