我在模块泡菜的架子上有几个问题?

时间:2014-03-01 02:17:06

标签: python

第一个问题:在打开新架子后,我应该作为第一个参数传递什么。我环顾四周,看了几个不同的参数。

s = shelve.open("pickles2.dat")  
shelve.open(filename, flag='c', protocol=None, writeback=False) 

database = shelve.open(filename.suffix)

我应遵循的标准是什么?

第二个问题:打开向工具架添加新数据并使用shelve.close()方法后。你怎么打开同一个架子来写更多的东西?例如,我说我使用了上面打开的相同搁架关闭它,现在我想再次打开它。我第一次打开货架时会使用相同的代码吗?

s = shelve.open("pickles2.dat") 

1 个答案:

答案 0 :(得分:0)

对于您的第一个问题:flagprotocolwriteback是可选参数。因此,只要您对默认值感到满意,就不希望列出或修改它们。

对于第二个问题:是的,你再打开它!

以下是一个例子:

import shelve
s = shelve.open("pickles2.dat")
s['1plus1']='2'
s['2plus2']='4'
s.close()

s = shelve.open("pickles2.dat")
print s['1plus1']
s['3plus3']='zero'
s.close()

s = shelve.open("pickles2.dat")
print s

输出:

2
{'1plus1': '2', '3plus3': 'zero', '2plus2': '4'}