Python Academy · पाठ

ग्लॉबिंग और पुनरावृत्ति

ग्लोब पैटर्न से फ़ाइलें खोजें

पाठ 3, कुल 4 में से13 चरण

ग्लॉबिंग और पुनरावृत्ति, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

फ़ाइलें खोजना

पाथलिब से निर्देशिका की सामग्री सूचीबद्ध करना और किसी प्रतिरूप से मेल खाने वाली फ़ाइलें खोजना आसान हो जाता है। मुख्य विधियाँ iterdir, glob और rglob हैं।

उदाहरण निर्देशिका संरचना बनाना

इन विधियों को समझने के लिए पहले हम फ़ाइलों वाली एक छोटी निर्देशिका बनाते हैं। इस तैयारी में केवल मानक पुस्तकालय का उपयोग होता है।

from pathlib import Path

root = Path('sample')
root.mkdir(exist_ok=True)
(root / 'a.txt').write_text('1')
(root / 'b.txt').write_text('2')
(root / 'c.log').write_text('3')
print('created files')

iterdir से सामग्री सूचीबद्ध करना

iterdir() किसी निर्देशिका के ठीक अंदर मौजूद प्रत्येक प्रविष्टि को एक-एक करके देता है; हर प्रविष्टि के लिए एक Path होता है।

from pathlib import Path

root = Path('sample')
for entry in sorted(root.iterdir()):
    print(entry.name)

प्रतिरूप के साथ glob

glob() शेल-शैली के प्रतिरूप से मेल खाने वाली प्रविष्टियाँ खोजता है। * विशेष मिलान-चिह्न वर्णों के किसी भी क्रम से मेल खाता है।

from pathlib import Path

root = Path('sample')
for txt in sorted(root.glob('*.txt')):
    print(txt.name)

एक-वर्ण वाला विशेष मिलान-चिह्न

? विशेष मिलान-चिह्न ठीक एक वर्ण से मेल खाता है, इसलिए यह निश्चित लंबाई वाले नामों के लिए उपयोगी है।

from pathlib import Path

root = Path('sample')
for m in sorted(root.glob('?.txt')):
    print(m.name)

वर्णों की सीमाएँ

वर्गाकार कोष्ठक किसी समूह या सीमा में से किसी एक वर्ण से मेल खाते हैं, ठीक वैसे ही जैसे शेल में globbing करते समय होता है।

from pathlib import Path

root = Path('sample')
for m in sorted(root.glob('[ab].txt')):
    print(m.name)

rglob से पुनरावर्ती glob

rglob() किसी निर्देशिका और उसकी सभी उपनिर्देशिकाओं में खोज करता है। यह glob('**/pattern') के समान है।

from pathlib import Path

root = Path('sample')
(root / 'nested').mkdir(exist_ok=True)
(root / 'nested' / 'deep.txt').write_text('x')
for m in sorted(root.rglob('*.txt')):
    print(m)

मिलानों की गिनती

glob के परिणाम पुनरावर्तक होते हैं। मिलानों की गिनती करने या उन्हें दोबारा उपयोग करने के लिए किसी एक को list() में रखें।

from pathlib import Path

root = Path('sample')
txts = list(root.rglob('*.txt'))
print('found', len(txts), 'text files')

पुनरावृत्ति के दौरान छनाई

परिणामों को सटीक रूप से छाँटने के लिए globbing को is_file या is_dir जाँचों के साथ मिलाएँ।

from pathlib import Path

root = Path('sample')
files = [p for p in root.iterdir() if p.is_file()]
for f in sorted(files):
    print(f.name)

मिली हुई फ़ाइलों को संसाधित करना

मिलान प्राप्त हो जाने पर आप प्रत्येक फ़ाइल पढ़ सकते हैं। यहाँ हम संरचना में मौजूद प्रत्येक पाठ फ़ाइल की सामग्री का योग निकालते हैं।

from pathlib import Path

root = Path('sample')
total = 0
for p in root.rglob('*.txt'):
    text = p.read_text().strip()
    if text.isdigit():
        total += int(text)
print('total:', total)

glob परिणामों को क्रमबद्ध करना

glob किसी विशेष क्रम की गारंटी नहीं देता। जब आपको निश्चित परिणाम चाहिए, जैसे कोई रिपोर्ट बनाते समय, तो परिणामों को sorted() में रखें।

from pathlib import Path

root = Path('sample')
for p in sorted(root.glob('*'), key=lambda x: x.name):
    print(p.name)

त्वरित जाँच

glob और rglob में क्या अंतर है?

पुनरावृत्ति

आपने glob प्रतिरूपों से फ़ाइलें खोजना सीखा।

  • iterdir सीधे अंदर मौजूद सामग्री सूचीबद्ध करता है।
  • glob किसी प्रतिरूप (*, ?, [...]) से मिलान करता है।
  • rglob पुनरावर्ती रूप से खोज करता है।
  • globbing को is_file/is_dir छनाइयों के साथ मिलाएँ और मिले हुए पथ पढ़ें।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “ग्लॉबिंग और पुनरावृत्ति” पाठ निःशुल्क है?

हाँ—“ग्लॉबिंग और पुनरावृत्ति” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“ग्लॉबिंग और पुनरावृत्ति” में मैं क्या सीखूँगा?

ग्लोब पैटर्न से फ़ाइलें खोजें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“ग्लॉबिंग और पुनरावृत्ति” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Path ऑब्जेक्ट
  2. फ़ाइलें पढ़ना और लिखना
  3. ग्लॉबिंग और पुनरावृत्ति
  4. पथ में बदलाव
← Python Academy पर वापस जाएँ