यह ट्यूटोरियल पाइथन में फ़ाइल हैंडलिंग का व्यापक मार्गदर्शन प्रदान करता है। फ़ाइलें स्थायी डेटा संग्रहण और पुनर्प्राप्ति के लिए महत्वपूर्ण हैं, जिससे आपके प्रोग्राम अपने रनटाइम से परे डेटा के साथ बातचीत कर सकते हैं। हम मौलिक फ़ाइल संचालन को कवर करेंगे, जिसमें फ़ाइलों को खोलना और बंद करना, पढ़ना, लिखना, नाम बदलना और हटाना शामिल है। हम त्रुटि हैंडलिंग और कुशल फ़ाइल प्रबंधन के लिए सर्वोत्तम प्रथाओं का भी पता लगाएँगे।
विषयवस्तु:
- फ़ाइलें खोलना
- फ़ाइल ऑब्जेक्ट और संदर्भ प्रबंधक
- फ़ाइलों में लिखना
- फ़ाइलों से पढ़ना
- फ़ाइल सिस्टम संचालन: नाम बदलना और हटाना
- अपवादों को संभालना
1. फ़ाइलें खोलना
open()
फ़ंक्शन पाइथन में फ़ाइल अंतःक्रिया का आधार है। यह फ़ाइल नाम (एक स्ट्रिंग) और एक मोड को प्राथमिक तर्कों के रूप में लेता है। मोड यह निर्धारित करता है कि फ़ाइल तक कैसे पहुँचा जाएगा (पढ़ना, लिखना, जोड़ना, आदि)।
सामान्य मोड में शामिल हैं:
'r'
: पढ़ना (डिफ़ॉल्ट)। पढ़ने के लिए खोलता है। यदि फ़ाइल मौजूद नहीं है तो त्रुटि उत्पन्न करता है।'w'
: लिखना। लिखने के लिए खोलता है। यदि फ़ाइल मौजूद है तो उसे अधिलेखित कर देता है; यदि नहीं है तो उसे बनाता है।'a'
: जोड़ना। लिखने के लिए खोलता है। यदि फ़ाइल मौजूद है तो डेटा को अंत में जोड़ता है; यदि नहीं है तो उसे बनाता है।'x'
: विशिष्ट निर्माण। एक नई फ़ाइल बनाता है। यदि फ़ाइल पहले से मौजूद है तो त्रुटि उत्पन्न करता है।'b'
: बाइनरी मोड। गैर-पाठ फ़ाइलों (छवियाँ, निष्पादन योग्य) के लिए। अन्य मोड के साथ जोड़ा जा सकता है (जैसे,'rb'
,'wb'
)।'t'
: टेक्स्ट मोड (डिफ़ॉल्ट)। टेक्स्ट फ़ाइलों के लिए।
# लिखने के लिए एक फ़ाइल खोलें
file = open("my_file.txt", "w")
# पढ़ने के लिए एक फ़ाइल खोलें
file = open("my_file.txt", "r")
# पढ़ने के लिए बाइनरी मोड में एक फ़ाइल खोलें
file = open("image.jpg", "rb")
2. फ़ाइल ऑब्जेक्ट और संदर्भ प्रबंधक
open()
एक फ़ाइल ऑब्जेक्ट देता है, जो फ़ाइल अंतःक्रिया के लिए विधियाँ प्रदान करता है। एक महत्वपूर्ण सर्वोत्तम अभ्यास संदर्भ प्रबंधकों (with
कथन) का उपयोग करना है ताकि यह सुनिश्चित हो सके कि फ़ाइलें स्वचालित रूप से बंद हो जाएं, भले ही त्रुटियां हों:
with open("my_file.txt", "w") as file:
file.write("यह कुछ पाठ है।n") # इस ब्लॉक के बाद फ़ाइल स्वचालित रूप से बंद हो जाती है
with open("my_file.txt", "r") as file:
contents = file.read()
print(contents)
3. फ़ाइलों में लिखना
write()
विधि फ़ाइल में एक स्ट्रिंग लिखती है। कई पंक्तियाँ लिखने के लिए, नई पंक्तियों के लिए n
का उपयोग करें।
with open("my_file.txt", "w") as file:
file.write("पंक्ति 1n")
file.write("पंक्ति 2n")
4. फ़ाइलों से पढ़ना
कई विधियाँ फ़ाइल डेटा पढ़ती हैं:
read()
: संपूर्ण फ़ाइल सामग्री को एकल स्ट्रिंग में पढ़ता है।readline()
: एक पंक्ति पढ़ता है।readlines()
: सभी पंक्तियों को स्ट्रिंग्स की सूची में पढ़ता है।- पुनरावृत्ति: आप पंक्तियों को एक-एक करके पढ़ने के लिए सीधे फ़ाइल ऑब्जेक्ट पर पुनरावृति कर सकते हैं।
with open("my_file.txt", "r") as file:
contents = file.read()
print(contents)
file.seek(0) # फ़ाइल पॉइंटर को रीसेट करें
line = file.readline()
print(line)
file.seek(0) # फ़ाइल पॉइंटर को रीसेट करें
lines = file.readlines()
print(lines)
file.seek(0) # फ़ाइल पॉइंटर को रीसेट करें
for line in file:
print(line, end="") #end="" अतिरिक्त नई पंक्ति को रोकता है
5. फ़ाइल सिस्टम संचालन: नाम बदलना और हटाना
os
मॉड्यूल फ़ाइल सिस्टम हेरफेर के लिए फ़ंक्शन प्रदान करता है:
import os
# एक फ़ाइल का नाम बदलें
os.rename("my_file.txt", "new_file.txt")
# एक फ़ाइल को हटाएँ
os.remove("new_file.txt")
6. अपवादों को संभालना
फ़ाइलों के साथ काम करते समय हमेशा संभावित अपवादों (FileNotFoundError
, IOError
, आदि) को संभालें:
try:
with open("my_file.txt", "r") as file:
# ... फ़ाइल संचालन ...
except FileNotFoundError:
print("फ़ाइल नहीं मिली।")
except IOError as e:
print(f"एक IO त्रुटि हुई: {e}")