मुझे एक .txt फ़ाइल पढ़ने का कार्य सौंपा गया है जो विभिन्न घटनाओं का लॉग है और उन घटनाओं में से कुछ को एक शब्दकोश में लिख रहा है।पायथन शेल्व मॉड्यूल मेमोरी उपभोग
समस्या यह है कि फ़ाइल कभी-कभी आकार में 3 जीबी से अधिक हो सकती है। इसका मतलब है कि मुख्य स्मृति में फिट होने के लिए शब्दकोश बहुत बड़ा हो जाता है। ऐसा लगता है कि Shelve इस समस्या को हल करने का एक अच्छा तरीका है। हालांकि, चूंकि मैं लगातार शब्दकोश को संशोधित कर रहा हूं, इसलिए मेरे पास writeback
विकल्प सक्षम होना चाहिए। यह वह जगह है जहां मेरा संबंध है - ट्यूटोरियल कहता है कि इससे पढ़ने/लिखने की प्रक्रिया धीमी हो जाएगी और अधिक मेमोरी का उपयोग होगा, लेकिन मैं आंकड़े नहीं ढूंढ पा रहा हूं कि गति और स्मृति कैसे प्रभावित होती है।
कोई भी स्पष्टीकरण दे सकता है कि पढ़ने/लिखने की गति और मेमोरी कितनी प्रभावित होती है ताकि मैं यह तय कर सकूं कि क्या लिखने का विकल्प उपयोग करना है या कोड दक्षता के लिए कुछ पठनीयता बलिदान देना है?
आप
यह क्या आप शब्दकोश साथ क्या कर रहे निर्भर करता है लिखने की जरूरत है। यदि आप इसमें परिवर्तनीय प्रकारों को संशोधित कर रहे हैं ('शेल्फ ['कुंजी']। संलग्न करें (x)', आपको लिखने की आवश्यकता है। बेशक, आप लिखना बंद कर सकते हैं और हमेशा अपने शेल्फ में मानों को संशोधित और प्रतिस्थापित करना याद रखते हैं, अगर आप पसंद करें। –
मुझे केवल कुंजी, मूल्य जोड़े जोड़ने की ज़रूरत है। लेकिन चूंकि मैं नेस्टेड शब्दकोशों के साथ काम कर रहा हूं, इसलिए मैं के, वी जोड़े को भीतरी डिक्ट्स में जोड़ दूंगा। – inspectorG4dget
क्या आप इसे लिख सकते हैं ताकि आप हमेशा एक मूल्य ले सकें शेल्फ से, उस स्तर पर जो भी स्तर पर जोड़ें, और फिर उसे शेल्फ पर वापस रखें? –