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

Python में टेक्स्ट लाइन्स तक रैंडम एक्सेस (linecache)

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

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

getline(file, x)

यह फ़ंक्शन फ़ाइल से xवीं लाइन लौटाता है। यदि मौजूद नहीं है तो खाली स्ट्रिंग लौटाता है। यदि फ़ाइल करंट पथ में मौजूद नहीं है, तो फ़ंक्शन इसे sys.path में डायरेक्टरीज़ में ढूंढने का प्रयास करता है - मॉड्यूल सर्च पथ।

clearcache()

यदि पिछले getline() फ़ंक्शन का प्रिटीप्रिंट अब आवश्यक नहीं है, तो आप इस फ़ंक्शन द्वारा कैश को क्लियर कर सकते हैं।

checkcache()

यह फ़ंक्शन जांचता है कि कैश वैध है या नहीं। यह उपयोगी है यदि कैश में फ़ाइलें डिस्क पर बदल गई हों।

lazycache()

मॉड्यूल_ग्लोबल्स के साथ फ़ाइलनाम के लिए कैश को सीड करें। मॉड्यूल लोडर से स्रोत केवल तब मांगा जाएगा जब getlines कॉल किया जाए, तुरंत नहीं।

getlines()

यह फ़ंक्शन फ़ाइल से लाइन्स को लिस्ट ऑब्जेक्ट के रूप में लौटाता है।

updatecache()

यह फ़ंक्शन कैश एंट्रीज़ को अपडेट करता है और लाइन्स की सूची लौटाता है।

linecache कार्यक्षमता के उपयोग को प्रदर्शित करने के लिए, पहले हम प्रसिद्ध Zen of Python (सॉफ्टवेयर सिद्धांतों की सूची जो Python के डिज़ाइन दर्शन को प्रभावित करती है) को स्टोर करने के लिए एक टेक्स्ट फ़ाइल बनाते हैं। 'import this' का आउटपुट निम्न कोड द्वारा 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 करंट डायरेक्टरी में बन जाएगी। हम इस टेक्स्ट फ़ाइल का उपयोग getline() फ़ंक्शन से लाइन्स पढ़ने के लिए करेंगे।

फ़ाइल से 4वीं लाइन पढ़ने के लिए:

>>> 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"]

इस लेख में हमने Python स्टैंडर्ड लाइब्रेरी में linecache मॉड्यूल के बारे में सीखा।

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

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

  1. Python Tkinter में askopenfile() फ़ंक्शन Python Tkinter में askopenfile() फ़ंक्शन

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

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

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