我使用货架创建了一个.dat文件,该文件存储的数据与.dat文件中的列表有些相似。我的困惑是如何更新我尝试附加的.dat文件,因为它与列表有些相似。请提出宝贵的意见。
您的问题可能是writeback
搁置文件的属性。假设您已经有密钥的数据key1
:
import shelve
d = shelve.open('testfile')
d['key1'] = [1,2,3]
print d['key1'] # data is [1,2,3]
d['key1'].append('4')
print d['key1'] # data is still [1,2,3]!
最好将回写选项设置为True。例子:
import shelve
d = shelve.open('testfile', writeback=True)
d['key1'] = [1,2,3]
print d['key1'] # data is [1,2,3]
d['key1'].append('4')
print d['key1'] # data is now [1,2,3,4]
如果不将writeback选项设置为True,则可以检索先前的值,并像这样分配作为一种解决方法:
temp = d['key1'] # temp is [1,2,3]
temp.append(4)
d['key1'] = temp # data is now [1,2,3,4]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句