Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन (लाइन कैश) में टेक्स्ट लाइनों तक रैंडम एक्सेस

पायथन के मानक पुस्तकालय में लाइनकैच मॉड्यूल का उद्देश्य किसी भी पाठ फ़ाइल तक यादृच्छिक पहुंच की सुविधा प्रदान करना है, हालांकि इस मॉड्यूल का उपयोग पायथन के ट्रेसबैक मॉड्यूल द्वारा त्रुटि ट्रेस स्टैक उत्पन्न करने के लिए बड़े पैमाने पर किया जाता है। आगे पढ़ने के सुंदर प्रिंट कैश में रखे जाते हैं ताकि बार-बार पंक्तियों को पढ़ने में समय की बचत हो।

इस मॉड्यूल में सबसे महत्वपूर्ण कार्य गेटलाइन () है जो दी गई फ़ाइल से एक निर्दिष्ट लाइन नंबर पढ़ता है। निम्नलिखित कार्यों की सूची है -

गेटलाइन (फ़ाइल, 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"]

इस लेख में हमने पायथन मानक पुस्तकालय में लाइनकैश मॉड्यूल के बारे में सीखा।


  1. Askaveasfile () पायथन टिंकर में फ़ंक्शन

    TKinter एक Python मॉड्यूल है जिसका उपयोग Python में GUI प्रोग्रामिंग के लिए किया जाता है। हम एक कैनवास बनाते हैं और अपने UI घटकों को उसमें कई गुणों और व्यवहारों के साथ रखते हैं। इस लेख में, हम देखेंगे कि स्थानीय ड्राइव में पायथन प्रोग्राम के माध्यम से बनाई गई फ़ाइलों को सहेजने के लिए आस्क निबंध फ़ाइ

  1. Askopenfile () पायथन टिंकर में फ़ंक्शन

    पायथन प्रोग्राम द्वारा उपयोग की जाने वाली फ़ाइल के पथ को हार्ड कोडिंग करने के बजाय, हम उपयोगकर्ता को GUI का उपयोग करके ओएस फ़ोल्डर संरचना को ब्राउज़ करने की अनुमति दे सकते हैं और उपयोगकर्ता को फ़ाइल का चयन करने दे सकते हैं। यह टिंकर मॉड्यूल का उपयोग करके हासिल किया जाता है जिसमें हम एक कैनवास परिभाष

  1. issubset () पायथन में फ़ंक्शन

    इस लेख में, हम पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध issubset () फ़ंक्शन के कार्यान्वयन और उपयोग के बारे में जानेंगे। issubset() विधि बूलियन ट्रू लौटाती है जब एक सेट के सभी तत्व दूसरे सेट में मौजूद होते हैं (एक तर्क के रूप में पारित) अन्यथा, यह बूलियन गलत देता है। नीचे दिए गए चित्र में B, A का एक उ