लोड हो रहा है...

फ़ाइल सुरक्षित बंद करना

पिछले पन्ने पर फ़ाइल बंद करने वाली पंक्ति close आपको ख़ुद लिखनी पड़ती थी। प्रोग्राम उस पंक्ति से पहले रुक जाता, तो फ़ाइल खुली रह सकती थी। with यह ज़िम्मेदारी ख़ुद उठाता है: इंडेंट वाली पंक्तियाँ पूरी होते ही वह फ़ाइल बंद कर देता है। उन पंक्तियों में से कोई बीच में रुक जाए, तब भी यही होता है।

स्क्रीन पर saved आता है, bread फ़ाइल में पहुँचता है

python
with open("plate.txt", "w", encoding="utf-8") as plate:
    plate.write("bread\n")
print("saved")

चलाने पर स्क्रीन पर केवल saved आता है। bread स्क्रीन पर नहीं, plate.txt के भीतर पहुँचता है, क्योंकि write उस समय चला जब फ़ाइल खुली थी। फिर इंडेंट ख़त्म हुआ, फ़ाइल बंद हुई और तब जाकर print चला। इस प्रोग्राम में close कहीं नहीं है। उसे न print के बाद जोड़ें, न इंडेंट के अंदर। plate नाम खुली फ़ाइल को सिर्फ़ इंडेंट ख़त्म होने तक थामे रहता है। encoding="utf-8" से अक्षर पाठ के रूप में सहेजे जाते हैं, और w फ़ाइल में पहले से मौजूद शब्दों को अब भी मिटा देता है।

write वाली पंक्ति with के नीचे इंडेंट में है, इसलिए वह अंदर गिनी जाती है। print("saved") में इंडेंट नहीं है, तो वह बाहर है और तभी चलती है जब अंदर का हिस्सा पूरा हो जाए।

अब उसी इंडेंट के नीचे 1 / 0 लिख दें, तो प्रोग्राम वहीं रुक जाता है और saved नहीं छपता। फिर भी फ़ाइल बंद होती है, क्योंकि इस रुकावट पर प्रोग्राम ख़त्म होने से ठीक पहले इंडेंट छूटता है और उसी के साथ फ़ाइल बंद हो जाती है। यह पंक्ति इस पन्ने के प्रोग्राम में नहीं है।

अगले पन्ने का विषय फ़ाइल का पथ है। इस पन्ने में सिर्फ़ फ़ाइल बंद करना सीखा है।

इंडेंट ख़त्म, फ़ाइल बंद

नतीजा: स्क्रीन पर saved, plate.txt में bread, और पूरे प्रोग्राम में close नहीं। इंडेंट के भीतर कोई पंक्ति रुक जाए तो भी फ़ाइल बंद होती है, पर saved नहीं छपता। आगे फ़ाइल का पथ आएगा।

🧠 अपने ज्ञान की परीक्षा करें

शुरू करने के लिए तैयार

अपने ज्ञान की परीक्षा करें

इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं

❓
5
प्रश्न
🎯
70%
पास करने के लिए
♾️
∞
समय
🔄
∞
प्रयास

📝 निर्देश

  • हर प्रश्न को ध्यान से पढ़ें
  • हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
  • आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
  • आपकी प्रगति शीर्ष पर दिखाई जाएगी