shelve
Kalıcı dosya destekli sözlük benzeri nesneler sağlayan modülü kullanmayı düşünmelisiniz . "Gerçek" bir sözlük yerine kullanımı kolaydır, çünkü programınıza neredeyse bir sözlük gibi kullanılabilen bir şeyi, açıkça bir dizeye dönüştürüp sonra bir dosyaya (veya yardımcı programa) gerek kalmadan sağlar. tam tersi).
Temel fark, başlangıçta gerek olduğu open()
ilk kullanımdan önce kendisine ve daha sonra close()
o işiniz bittiğinde (ve muhtemelen sync()
bunu ing, bağlıwriteback
kullanılan seçeneğe ) . Oluşturulan herhangi bir "raf" dosya nesneleri, mantıksal olarak iç içe yerleştirilmesine olanak tanıyan, normal sözlükler olarak değerler içerebilir.
İşte önemsiz bir örnek:
import shelve
shelf = shelve.open('mydata') # open for reading and writing, creating if nec
shelf.update({'one':1, 'two':2, 'three': {'three.1': 3.1, 'three.2': 3.2 }})
shelf.close()
shelf = shelve.open('mydata')
print shelf
shelf.close()
Çıktı:
{'three': {'three.1': 3.1, 'three.2': 3.2}, 'two': 2, 'one': 1}