अब तक, आप मानक इनपुट और आउटपुट को पढ़ और लिख रहे हैं। अब, हम देखेंगे कि वास्तविक डेटा फ़ाइलों का उपयोग कैसे किया जाता है।
पायथन डिफ़ॉल्ट रूप से फाइलों में हेरफेर करने के लिए आवश्यक बुनियादी कार्य और तरीके प्रदान करता है। आप अधिकांश फ़ाइल . कर सकते हैं फ़ाइल ऑब्जेक्ट का उपयोग करके हेरफेर।
खुला फ़ंक्शन
इससे पहले कि आप किसी फ़ाइल को पढ़ या लिख सकें, आपको इसे पायथन के बिल्ट-इन ओपन () फ़ंक्शन का उपयोग करके खोलना होगा। यह फ़ंक्शन एक फ़ाइल . बनाता है ऑब्जेक्ट, जिसका उपयोग इससे जुड़ी अन्य सहायता विधियों को कॉल करने के लिए किया जाएगा।
सिंटैक्स
फ़ाइल वस्तु =खुला(file_name [, access_mode][, बफ़रिंग])
यहाँ पैरामीटर विवरण हैं -
- file_name - file_name तर्क एक स्ट्रिंग मान है जिसमें उस फ़ाइल का नाम होता है जिसे आप एक्सेस करना चाहते हैं।
- access_mode - एक्सेस_मोड उस मोड को निर्धारित करता है जिसमें फ़ाइल को खोला जाना है, अर्थात, पढ़ना, लिखना, संलग्न करना, आदि। संभावित मानों की एक पूरी सूची नीचे तालिका में दी गई है। यह वैकल्पिक पैरामीटर है और डिफ़ॉल्ट फ़ाइल एक्सेस मोड पढ़ा जाता है (r)।
- बफ़रिंग -यदि बफ़रिंग मान 0 पर सेट है, तो कोई बफ़रिंग नहीं होती है। यदि बफ़रिंग मान 1 है, तो फ़ाइल तक पहुँचने के दौरान लाइन बफ़रिंग की जाती है। यदि आप बफ़रिंग मान को 1 से अधिक पूर्णांक के रूप में निर्दिष्ट करते हैं, तो बफ़रिंग क्रिया संकेतित बफ़र आकार के साथ की जाती है। यदि ऋणात्मक है, तो बफ़र आकार सिस्टम डिफ़ॉल्ट (डिफ़ॉल्ट व्यवहार) है।
फ़ाइल खोलने के विभिन्न तरीकों की सूची यहां दी गई है -
<टेबल> <थेड>केवल पढ़ने के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल की शुरुआत में रखा गया है। यह डिफ़ॉल्ट मोड है।
केवल बाइनरी प्रारूप में पढ़ने के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल की शुरुआत में रखा गया है। यह डिफ़ॉल्ट मोड है।
पढ़ने और लिखने दोनों के लिए एक फाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल की शुरुआत में रखा गया है।
बाइनरी प्रारूप में पढ़ने और लिखने दोनों के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल की शुरुआत में रखा गया है।
केवल लिखने के लिए एक फाइल खोलता है। फ़ाइल मौजूद होने पर फ़ाइल को अधिलेखित कर देता है। यदि फ़ाइल मौजूद नहीं है, तो लिखने के लिए एक नई फ़ाइल बनाता है।
केवल बाइनरी प्रारूप में लिखने के लिए एक फ़ाइल खोलता है। फ़ाइल मौजूद होने पर फ़ाइल को अधिलेखित कर देता है। यदि फ़ाइल मौजूद नहीं है, तो लिखने के लिए एक नई फ़ाइल बनाता है।
लिखने और पढ़ने दोनों के लिए एक फाइल खोलता है। फ़ाइल मौजूद होने पर मौजूदा फ़ाइल को अधिलेखित कर देता है। यदि फ़ाइल मौजूद नहीं है, तो पढ़ने और लिखने के लिए एक नई फ़ाइल बनाता है।
बाइनरी प्रारूप में लिखने और पढ़ने दोनों के लिए एक फ़ाइल खोलता है। फ़ाइल मौजूद होने पर मौजूदा फ़ाइल को अधिलेखित कर देता है। यदि फ़ाइल मौजूद नहीं है, तो पढ़ने और लिखने के लिए एक नई फ़ाइल बनाता है।
संलग्न करने के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल के अंत में है यदि फ़ाइल मौजूद है। यानी फाइल एपेंड मोड में है। यदि फ़ाइल मौजूद नहीं है, तो यह लिखने के लिए एक नई फ़ाइल बनाता है।
बाइनरी प्रारूप में जोड़ने के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल के अंत में है यदि फ़ाइल मौजूद है। यानी फाइल एपेंड मोड में है। यदि फ़ाइल मौजूद नहीं है, तो यह लिखने के लिए एक नई फ़ाइल बनाता है।
जोड़ने और पढ़ने दोनों के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल के अंत में है यदि फ़ाइल मौजूद है। फ़ाइल परिशिष्ट मोड में खुलती है। यदि फ़ाइल मौजूद नहीं है, तो यह पढ़ने और लिखने के लिए एक नई फ़ाइल बनाता है।
बाइनरी प्रारूप में जोड़ने और पढ़ने दोनों के लिए एक फ़ाइल खोलता है। फ़ाइल पॉइंटर फ़ाइल के अंत में है यदि फ़ाइल मौजूद है। फ़ाइल परिशिष्ट मोड में खुलती है। यदि फ़ाइल मौजूद नहीं है, तो यह पढ़ने और लिखने के लिए एक नई फ़ाइल बनाता है।
फ़ाइल ऑब्जेक्ट विशेषताएँ
एक बार जब कोई फ़ाइल खोली जाती है और आपके पास एक फ़ाइल ऑब्जेक्ट होता है, तो आप उस फ़ाइल से संबंधित विभिन्न जानकारी प्राप्त कर सकते हैं।
फ़ाइल ऑब्जेक्ट से संबंधित सभी विशेषताओं की सूची यहां दी गई है -
<टेबल> <थेड>फ़ाइल बंद होने पर सत्य लौटाता है, अन्यथा गलत।
एक्सेस मोड लौटाता है जिसके साथ फ़ाइल खोली गई थी।
फ़ाइल का नाम लौटाता है।
यदि स्थान स्पष्ट रूप से प्रिंट के साथ आवश्यक है, तो गलत है, अन्यथा सही है।
उदाहरण
#!/usr/bin/python# एक filefo खोलें =open("foo.txt", "wb")print "file का नाम:", fo.nameprint "Closed or not :", fo.closedprint "ओपनिंग मोड:", फ़ो.मोडप्रिंट "सॉफ्टस्पेस फ़्लैग:", फ़ो.सॉफ़्टस्पेस
आउटपुट
यह निम्नलिखित परिणाम उत्पन्न करता है -
फ़ाइल का नाम:foo.txtClosed or not:FalseOpening mode:wbSoftspace flag:0
निकट () विधि
किसी फ़ाइल ऑब्जेक्ट की क्लोज़ () विधि किसी भी अलिखित जानकारी को फ़्लश करती है और फ़ाइल ऑब्जेक्ट को बंद कर देती है, जिसके बाद कोई और लेखन नहीं किया जा सकता है।
जब किसी फ़ाइल का संदर्भ ऑब्जेक्ट किसी अन्य फ़ाइल को पुन:असाइन किया जाता है, तो पायथन स्वचालित रूप से एक फ़ाइल को बंद कर देता है। किसी फ़ाइल को बंद करने के लिए क्लोज़ () विधि का उपयोग करना एक अच्छा अभ्यास है।
सिंटैक्स
fileObject.close()
उदाहरण
#!/usr/bin/python# एक filefo खोलें =open("foo.txt", "wb")print "file का नाम:", fo.name# opend filefo.close()को बंद करें पूर्व>आउटपुट
यह निम्नलिखित परिणाम उत्पन्न करता है -
फ़ाइल का नाम:foo.txt