कुछ मामलों में, जब हम बड़े प्रोग्राम लिखते हैं, तो हम फाइलों को बंद करना भूल सकते हैं। उन्हें मैन्युअल रूप से खोलना और बंद करना काफी दोहराव भरा काम लगता है। इस समस्या से बचने के लिए, हम with स्टेटमेंट का उपयोग कर सकते हैं जो प्रोग्राम के with ब्लॉक से बाहर निकलते ही फाइल को स्वचालित रूप से खोलता और बंद करता है:
with open('document.txt') as f: # पहले f = open('document.txt')
print(f.read())
print('Done!')
as कीवर्ड का उपयोग एक उपनाम बनाने के लिए किया जाता है। इस उदाहरण में, हम एक उपनाम f बनाते हैं जो open('document.txt') को संदर्भित करता है।
ध्यान दें कि यहाँ कोई f.open() या f.close() कॉल नहीं है। यह स्वचालित रूप से संभाला जाता है। जैसे ही प्रोग्राम with open() ब्लॉक में प्रवेश करता है, फाइल document.txt खुल जाती है और जैसे ही प्रोग्राम with ब्लॉक के शरीर से बाहर निकलता है, फाइल बंद हो जाती है। तो, जब प्रोग्राम print('Done!') स्टेटमेंट तक पहुँचता है, तब तक फाइल पहले ही बंद हो चुकी होती है।
यह हर बार .open() और .close() करने की बजाय फाइलों के साथ काम करने का पसंदीदा तरीका है।
चुनौती
आपसे कहा गया है कि numbers.txt फाइल में अलग-अलग लाइनों पर स्थित दो संख्याओं का गुणन करें।
प्रोग्राम के आउटपुट में एक एकल पूर्णांक होना चाहिए - उन दो संख्याओं का गुणनफल।