Çakmaktaşları python sözlüklerini desteklemez. Ben yaklaştı ettik yolu formun bir veri yapısını yapmaktır:Python sözlükleri çakıl taşlarında nasıl saklanır?
tables_dict = {
'key' : tables.StringCol(itemsize=40),
'value' : tables.Int32Col(),
}
(I tuşları < 40 karakter uzunluğunda olmasını sağlamak unutmayın) ve daha sonra bu yapıyı kullanarak bir tablo oluşturun:
sonrafile_handle.createTable('/', 'dictionary', tables_dict)
ve ile doldurmak:
file_handle.dictionary.append(dictionary.items())
ile veri almak:
dict(file_handle.dictionary.read())
Bu işlem tamam, ancak sözlüğü yeniden okumak oldukça yavaş. Sorun şu ki, read()
işlevinin, tüm sözlüğün belleğe yüklenmesine neden olması, bu gerçekten gerekli olmamalıdır. Bunu yapmanın daha iyi bir yolu var mı?