पायथन के अंतर्निर्मित पुस्तकालय में dbm पैकेज एक इंटरफ़ेस DBM शैली डेटाबेस की तरह एक शब्दकोश प्रदान करता है। डीबीएम लाइब्रेरी एक साधारण डेटाबेस इंजन है, जिसे केन थॉम्पसन ने लिखा है। DBM का अर्थ डेटाबेस प्रबंधक है, जिसका उपयोग UNIX ऑपरेटिंग सिस्टम द्वारा किया जाता है, पुस्तकालय निश्चित आकार की बकेट में एकल कुंजी (प्राथमिक कुंजी) का उपयोग करके मनमाना डेटा संग्रहीत करता है और कुंजी द्वारा डेटा की तेज़ी से पुनर्प्राप्ति को सक्षम करने के लिए हैशिंग तकनीकों का उपयोग करता है।
डीबीएम पैकेज में निम्नलिखित मॉड्यूल हैं &माइनस;
dbm.ndbm मॉड्यूल यूनिक्स "(n)dbm" लाइब्रेरी के लिए एक इंटरफ़ेस प्रदान करता है। Dbm ऑब्जेक्ट शब्दकोशों की तरह व्यवहार करते हैं, कुंजियों और मानों को बाइट्स के रूप में संग्रहीत किया जाना चाहिए। मॉड्यूल समर्थन नहीं करता है और आइटम () और मान () विधियों।
dbm.dumb मॉड्यूल एक निरंतर शब्दकोश जैसा इंटरफ़ेस प्रदान करता है जो पूरी तरह से पायथन में लिखा गया है। अन्य मॉड्यूल जैसे dbm.gnu के विपरीत किसी बाहरी पुस्तकालय की आवश्यकता नहीं है। अन्य लगातार मैपिंग की तरह, कुंजी और मान हमेशा बाइट्स के रूप में संग्रहीत होते हैं।
ये मॉड्यूल आंतरिक रूप से पायथन के शेल्व मॉड्यूल द्वारा उपयोग किए जाते हैं। शेल्फ डेटाबेस के मामले में, उपयोगकर्ता द्वारा निर्दिष्ट डेटाबेस नाम में '.dir' पोस्टफिक्स होता है। dbm ऑब्जेक्ट का whodb() फंक्शन बताता है कि dbm का कौन सा कार्यान्वयन वर्तमान पायथन इंस्टॉलेशन पर उपलब्ध है।
>>> dbm.whichdb('mydbm.db')
'dbm.dumb'
>>> db = dbm.open('mydbm.db','n') >>> db['name'] = Rajani Deshmukh' >>> db['address'] = 'Shivajinagar Pune' >>> db['PIN'] = '431001' >>> db.close()
ओपन () फ़ंक्शन इन फ़्लैग्स को मोड करने की अनुमति देता है -
मान | <थ>अर्थवें>|
---|---|
'r' | केवल पढ़ने के लिए मौजूदा डेटाबेस खोलें (डिफ़ॉल्ट) |
'w' | पढ़ने और लिखने के लिए मौजूदा डेटाबेस खोलें |
'c' | पढ़ने और लिखने के लिए डेटाबेस खोलें, अगर यह मौजूद नहीं है तो इसे बनाना |
'n' | हमेशा एक नया, खाली डेटाबेस बनाएं, पढ़ने और लिखने के लिए खुला |
एक डीबीएम ऑब्जेक्ट एक ऑब्जेक्ट की तरह एक डिक्शनरी है, जैसे शेल्फ ऑब्जेक्ट। इसलिए सभी शब्दकोश संचालन किया जा सकता है। dbm ऑब्जेक्ट get(),pop(), append(0 और update() मेथड्स को इनवाइट कर सकता है। निम्नलिखित कोड 'mydbm.db' को 'r' फ्लैग के साथ खोलता है और की-वैल्यू पेयर के संग्रह पर पुनरावृति करता है।
>>> db = dbm.open('mydbm.db','r') >>> for k,v in db.items(): print (k,v) b'name' : Rajani Deshmukh' b'address' : b'Shivajinagar Pune' b'PIN' : b'431001'
dbm ऑब्जेक्ट निम्नलिखित तरीके भी प्रदान करते हैं -
सिंक (): ऑन-डिस्क निर्देशिका और डेटा फ़ाइलों को सिंक्रनाइज़ करें। इस विधि को Shelve.sync() विधि द्वारा बुलाया जाता है।
बंद करें (): डीबीएम डेटाबेस बंद करें।
gnu dbm ऑब्जेक्ट में निम्नलिखित तरीके होते हैं -
फर्स्टकी ()
इस विधि और नेक्स्टकी () विधि का उपयोग करके डेटाबेस में प्रत्येक कुंजी पर लूप करना संभव है। यह विधि प्रारंभिक कुंजी लौटाती है।
जीडीबीएम .अगली कुंजी(कुंजी): ट्रैवर्सल में कुंजी का अनुसरण करने वाली कुंजी लौटाता है।
जीडीबीएम .पुनर्गठन (): यह फ़ंक्शन डेटाबेस को पुनर्गठित करेगा। इस पुनर्गठन का उपयोग करने के अलावा gnu dbm ऑब्जेक्ट डेटाबेस फ़ाइल की लंबाई को छोटा नहीं करेगा; अन्यथा, हटाए गए फ़ाइल स्थान को रखा जाएगा और नए (कुंजी, मान) जोड़े जोड़े जाने पर पुन:उपयोग किया जाएगा।