sp3
доброго времени суток. в общем проблема заключается в том, что не могу заменить значение ключа в файле, либо удалить этот ключ.
подскажите , что делаю не так.
Вы делаете не так следующее:
data = d[x] # здесь создается локальная переменная data, равная d[введенное значение]
d[str(i)] = "nnnnnnnnnnnd" # здесь вы меняете данные в shelve по индексу 9999 (значение i после цикла)
d.close()
print ('= %s'%data) # а здесь вы печатаете вашу локальную переменную data, которая не имеет никакого отношения, к тому, что вы поменяли.
Вот вам образчик работающего кода (только та часть, где я менял):
while 1:
x = raw_input('x = ')
if x == 'stop':
break
d = shelve.open(fileBan)
print('before: d[%s] = %s' % (x, d[x]))
d[x] = "nnnnnnnnnnnd"
d.close()
d = shelve.open(fileBan)
print('after: d[%s] = %s' % (x, d[x]))
d.close()