पायथन के मानक पुस्तकालय में लाइनकैच मॉड्यूल का उद्देश्य किसी भी पाठ फ़ाइल तक यादृच्छिक पहुंच की सुविधा प्रदान करना है, हालांकि इस मॉड्यूल का उपयोग पायथन के ट्रेसबैक मॉड्यूल द्वारा त्रुटि ट्रेस स्टैक उत्पन्न करने के लिए बड़े पैमाने पर किया जाता है। आगे पढ़ने के सुंदर प्रिंट कैश में रखे जाते हैं ताकि बार-बार पंक्तियों को पढ़ने में समय की बचत हो।
इस मॉड्यूल में सबसे महत्वपूर्ण कार्य गेटलाइन () है जो दी गई फ़ाइल से एक निर्दिष्ट लाइन नंबर पढ़ता है। निम्नलिखित कार्यों की सूची है -
गेटलाइन (फ़ाइल, x)
यह फ़ंक्शन फ़ाइल से xth लाइन लौटाता है। यदि मौजूद नहीं है तो यह खाली स्ट्रिंग लौटाएगा। यदि फ़ाइल वर्तमान पथ में मौजूद नहीं है, तो इसे sys.path - मॉड्यूल खोज पथ में निर्देशिकाओं में खोजने के लिए कार्य करता है।
क्लियरकैश ()
यदि पिछले गेटलाइन () फ़ंक्शन के प्रीटीप्रिंट की अब आवश्यकता नहीं है, तो आप इस फ़ंक्शन द्वारा कैशे को साफ़ कर सकते हैं।
चेककैश ()
यह फ़ंक्शन जांचता है कि कैश मान्य है या नहीं। यह तब उपयोगी होता है जब कैश में फ़ाइलें डिस्क पर बदली गई हों।
आलसी ()
मॉड्यूल_ग्लोबल्स के साथ फ़ाइल नाम के लिए कैश को सीड करें। मॉड्यूल लोडर को स्रोत के लिए तभी कहा जाएगा जब गेटलाइन को कॉल किया जाएगा, तुरंत नहीं।
गेटलाइन्स ()
यह फ़ंक्शन सूची ऑब्जेक्ट के रूप में फ़ाइल से पंक्तियाँ लौटाता है।
अपडेट कैशे ()
यह फ़ंक्शन कैशे प्रविष्टियों को अपडेट करता है और लाइनों की सूची देता है।
लाइनकैश कार्यक्षमता के उपयोग को प्रदर्शित करने के लिए, पहले हम प्रसिद्ध ज़ेन ऑफ़ पायथन (सॉफ़्टवेयर सिद्धांतों की सूची जो पायथन के डिज़ाइन दर्शन को प्रभावित करते हैं) को संग्रहीत करने के लिए एक टेक्स्ट फ़ाइल बनाते हैं। 'इसे आयात करें' का आउटपुट निम्नलिखित कोड द्वारा zen.txt पर पुनर्निर्देशित किया जाता है -
import sys, io zen = io.StringIO() old_stdout = sys.stdout sys.stdout = zen import this sys.stdout = old_stdout f=open('zen.txt','w') f.write(zen.getvalue()) f.close()
जब उपरोक्त कोड निष्पादित किया जाता है, तो zen.txt वर्तमान निर्देशिका में बनाया जाएगा। हम इस टेक्स्ट फ़ाइल का उपयोग गेटलाइन () फ़ंक्शन के साथ इसकी पंक्तियों को पढ़ने के लिए करेंगे।
फ़ाइल से चौथी पंक्ति पढ़ने के लिए
>>> linecache.getline('zen.txt',4) 'Explicit is better than implicit.\n'
ध्यान दें कि रिटर्न स्ट्रिंग न्यूलाइन कैरेक्टर के साथ समाप्त होती है।
4 से 10 तक लाइन नंबर प्रदर्शित करने के लिए, getlines() फ़ंक्शन द्वारा लौटाई गई सूची में स्लाइस ऑपरेटर का उपयोग करें
>>> linecache.getlines('zen.txt')[4:10] ['Simple is better than complex.\n', 'Complex is better than complicated.\n', 'Flat is better than nested.\n', 'Sparse is better than dense.\n', 'Readability counts.\n', "Special cases aren't special enough to break the rules.\n"]
इस लेख में हमने पायथन मानक पुस्तकालय में लाइनकैश मॉड्यूल के बारे में सीखा।