2014-03-01 5 views
-2

Первый вопрос: После чего я должен пройти в качестве первого аргумента при открытии новой полки. Я осмотрелся и увидел несколько разных параметров.У меня есть пара вопросов на полках в модуле рассола?

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") 
+0

что плитка не будет работать! Вы должны поместить часть вопросов в заголовок. –

+1

Вы ... попробовали? (да, просто откройте полку, вот и вся сериализация) – roippi

ответ

0

Для вашего первого вопроса: flag, и writeback необязательные аргументы. Поэтому, пока вы довольны значениями по умолчанию, вы не хотите их переименовывать или изменять.

Для второго вопроса: да, вы снова открываете его!

Вот пример:

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'} 
+0

Большое спасибо, что это помогает. – user3353958

Смежные вопросы