2010-09-16 14 views
5

मैं एक यूनिक्स उपयोगकर्तालैंड उपकरण को कार्यान्वित कर रहा हूं जिसे डिस्क पर हैश स्टोर करने की आवश्यकता है। हैश प्रोग्राम के हर रन को बहुत बार पढ़ा जाएगा। हैश को केवल "नाम: पथ" मानों को स्टोर करने की आवश्यकता है।पायथन के साथ फ़ाइल में शब्दकोश (हैश) स्टोर करने के लिए कुशल तरीका?

मैं अजगर के लिए bsddb मानक पुस्तकालय मॉड्यूल को देखा है, लेकिन मैं देख सकता हूँ यह अजगर 3. में हटा दिया जाएगा मैं भी pickle मानक पुस्तकालय मॉड्यूल को देखा।

मैं एक अजगर लड़का नहीं हूं, तो हैश क्रमबद्धता और लगातार खुले/पढ़ने/बंद संचालन के लिए कुशल तरीका क्या है?

उत्तर

4

मैं shelve मॉड्यूल से शुरू करूंगा और देख सकता हूं कि यह बहुत धीमी नहीं है। यह वही करता है जो आप चाहते हैं।

import shelve 

d = shelve.open('filename') 

d['name'] = 'path' 

d.close() 

या पढ़ने के लिए से यह

d = shelve.open('filename') 

d = hash['name'] 

यह अनिवार्य रूप अचार के चारों ओर एक आवरण है कि एक अमूर्त शब्दकोश प्रदान करता है।

+0

+1 कूल, कि मॉड्यूल के पहले कभी नहीं सुना। -0.1 हालांकि, 'हैश' छायांकन के लिए। : ओ) ... ठीक है, अब हटा दिया गया है। –

+0

@ जेलीबीन, कुछ मुझे गलत लग रहा था। इस तथ्य को प्रतिबिंबित करने के लिए इसे 'डी' में बदल दिया गया है कि यह अनिवार्य रूप से एक नियम है। अच्छा लग रहा है। – aaronasterling

0

मैं अचार का उपयोग करता हूं और देखता हूं कि यह आपकी आवश्यकताओं के लिए पर्याप्त तेज़ है या नहीं।

संबंधित मुद्दे