अन्य भाषाओं की तरह, Python फ़ाइलों को पढ़ने, लिखने या एक्सेस करने के लिए कुछ बिल्ट-इन फ़ंक्शन्स प्रदान करता है। Python मुख्य रूप से दो प्रकार की फ़ाइलों को हैंडल कर सकता है: सामान्य टेक्स्ट फ़ाइल और बाइनरी फ़ाइलें।
टेक्स्ट फ़ाइलों के लिए, प्रत्येक लाइन एक विशेष कैरेक्टर '\n' (जिसे EOL या एंड ऑफ लाइन के नाम से जाना जाता है) से समाप्त होती है। बाइनरी फ़ाइल के लिए, कोई लाइन एंडिंग कैरेक्टर नहीं होता। यह कंटेंट को बिट स्ट्रीम में कन्वर्ट करके डेटा सेव करता है।
इस सेक्शन में हम टेक्स्ट फ़ाइलों के बारे में चर्चा करेंगे।
फ़ाइल एक्सेसिंग मोड्स
| क्र.सं. | मोड्स और विवरण |
|---|---|
| 1 | r यह रीड-ओनली मोड है। यह टेक्स्ट फ़ाइल को पढ़ने के लिए खोलता है। जब फ़ाइल मौजूद नहीं होती, तो यह I/O एरर उठाता है। |
| 2 | r+ यह मोड रीडिंग और राइटिंग के लिए है। जब फ़ाइल मौजूद नहीं होती, तो यह I/O एरर उठाएगा। |
| 3 | w यह केवल लिखने के लिए है। जब फ़ाइल मौजूद नहीं होती, तो यह पहले फ़ाइल बनाएगा, फिर लिखना शुरू करेगा, जब फ़ाइल मौजूद होती है, तो यह उस फ़ाइल की सामग्री को हटा देगा, और शुरुआत से लिखना शुरू करेगा। |
| 4 | w+ यह राइट और रीड मोड है। जब फ़ाइल मौजूद नहीं होती, तो यह फ़ाइल बना सकता है, या जब फ़ाइल मौजूद होती है, तो डेटा ओवरराइट हो जाएगा। |
| 5 | a यह अपेंड मोड है। तो यह फ़ाइल के अंत में डेटा लिखता है। |
| 6 | a+ अपेंड और रीड मोड। यह डेटा अपेंड करने के साथ-साथ डेटा पढ़ भी सकता है। |
अब देखते हैं कि writelines() और write() मेथड का उपयोग करके फ़ाइल कैसे लिखी जा सकती है।
उदाहरण कोड
# एक खाली फ़ाइल बनाएं और कुछ लाइनें लिखें
line1 = 'This is first line. \n'
lines = ['This is another line to store into file.\n',
'The Third Line for the file.\n',
'Another line... !@#$%^&*()_+.\n',
'End Line']
# फ़ाइल को राइट मोड में खोलें
my_file = open('file_read_write.txt', 'w')
my_file.write(line1)
my_file.writelines(lines) # मल्टीपल लाइनें लिखें
my_file.close()
print('Writing Complete')
आउटपुट
Writing Complete
लाइनें लिखने के बाद, हम फ़ाइल में कुछ लाइनें अपेंड कर रहे हैं।
उदाहरण कोड
# फ़ाइल में कुछ लाइनें अपेंड करने का प्रोग्राम
line1 = '\n\nThis is a new line. This line will be appended. \n'
# फ़ाइल को अपेंड मोड में खोलें
my_file = open('file_read_write.txt', 'a')
my_file.write(line1)
my_file.close()
print('Appending Done')
आउटपुट
Appending Done
अंत में, हम read() और readline() मेथड से फ़ाइल कंटेंट पढ़ना देखेंगे। हम पहले 'n' कैरेक्टर्स प्राप्त करने के लिए कुछ इंटीजर नंबर 'n' प्रदान कर सकते हैं।
उदाहरण कोड
# फ़ाइल से पढ़ने का प्रोग्राम
# फ़ाइल को रीड मोड में खोलें
my_file = open('file_read_write.txt', 'r')
print('Show the full content:')
print(my_file.read())
# पहले दो लाइनें दिखाएं
my_file.seek(0)
print('First two lines:')
print(my_file.readline(), end='')
print(my_file.readline(), end='')
# 25 कैरेक्टर्स तक दिखाएं
my_file.seek(0)
print('\n\nFirst 25 characters:')
print(my_file.read(25), end='')
my_file.close()
आउटपुट
Show the full content:
This is first line.
This is another line to store into file.
The Third Line for the file.
Another line... !@#$%^&*()_+.
End Line
This is a new line. This line will be appended.
First two lines:
This is first line.
This is another line to store into file.
First 25 characters:
This is first line. This