Python in Hindi : File Handling

  • Introduction to python file handling in Hindi
  • Python file operations in Hindi
  • Python file handling methods in Hindi

Introduction to Python File Handling

सभी popular programming languages की तरह python भी file handling के लिए support provide करती है। इसके लिए python में कई methods available है।

Python द्वारा file handling ability provide किये जाने की कई advantages है।

  • आप disk पर available files को access और modify कर सकते है। 
  • बहुत सारा data जिसे manually insert किया जाना संभव नहीं है directly file से input के रूप में read किया जा सकता है। 
  • बहुत सारा data जिसे की screen पर देखा जाना संभव नहीं है आसानी से file में store किया जा सकता है और उसे बाद में analyse किया जा सकता है। 

Python file handling mechanism द्वारा आप कई operations perform कर सकते है।

  • Read a file
  • Write to a file
  • Append to a file
  • Close a file

Python द्वारा disk files के साथ किसी भी प्रकार का operation (read, write आदि) perform करने से पूर्व file को memory में load किया जाना आवश्यक होता है। इसे file को open करना भी कहते है। इसके लिए python में open() function available है।

Python open() Function

Python file handling mechanism में open() ही एक function है। बाकी आप जो operation perform करेंगे वे object methods द्वारा perform करेंगे।

जब आप open() function द्वारा किसी file को open करते है तो ऐसे में यह function उस file को object के रूप में memory में load कर देता है। जिसे file object भी कहा जाता है।

एक बार जब file object के रूप में available हो जाती है तो उसके साथ automatically कई methods available हो जाते है जिन्हे आप उस object द्वारा call कर सकते है और अलग अलग operations perform कर सकते है।

Python open() एक बहुत ही simple function है। यह दो arguments लेता है। 

obj = open(‘file’,’mode’)     #Opens a file in given mode

पहला argument एक string होता है जो की basically उस file का नाम होता है जिसे आप open करना चाहते है। यदि file same directory में है तो आप सिर्फ उसका नाम दे सकते है। यदि file अलग directory में है तो आपको उसका पूरा path देना होगा।

दूसरा argument भी एक string ही है लेकिन यह उस mode को दर्शाता है जिस mode में आप file को open करना चाहते है। उदाहरण के लिए यदि आप एक file को सिर्फ read करना चाहते है तो आप उसे read mode में open करेंगे। यदि आप file से data read करने के साथ write भी करना चाहते है तो इसके लिए आप read/write mode में file को open करेंगे।

Modes के लिए argument pass किया जाना optional है। यदि आप argument के रूप में कोई भी mode नहीं pass करते है तो file को read only mode में open किया जाता है।

ज्यादातर files को कुछ ही common modes में open किया जाता है।

  • r – Read 
  • w = Write 
  • a = Append 
  • r+ = Both read & write
  • b = Binary mode, data byte-objects की form में read और write किया जाता है। 

Opening File in Context 

जब open() function द्वारा file को open करते है तो एक stream open होती है जिसके द्वारा data को read और write किया जाता है। Operations perform करने के बाद close() method द्वारा उस stream को close किया जाना आवश्यक होता है।

यदि आप उस stream को close नहीं करते है या ऐसा करना भूल जाते है तो ऐसे में वह file काफी समय तक आपके system resources को occupy करके रखती है जो की programming की दृष्टि से सही नहीं है। आखिर में वह file object garbage collector द्वारा destroy किया जाता है।

इस situation से बचने के लिए आप file को context में open कर सकते है। इसके लिए with और as keywords का प्रयोग किया है। इससे एक block का निर्माण होता है जिसमे दिए गए statements के execute होने के बाद वह file object automatically destroy हो जाता है। यह python में file को open करने का most recommended तरीका भी है।

जब आप इस प्रकार किसी file को open करते है तो उसे close() method द्वारा manually close करना आवश्यक नहीं होता है।

Python File Object Handling Methods

जैसा की पहले बताया गया है open() function file को object के रूप में return करता है। File को object के रूप में प्राप्त कर लेने पर उस object के साथ आपको कई methods automatically available हो जाते है जिनके द्वारा आप विभिन्न operations perform कर सकते है।

read() 

इस method का प्रयोग file के content को read करने के लिए किया जाता है। इस method में एक argument pass किया जा सकता है जो एक number होता है जो दर्शाता है की आप कितनी bytes उस file से read करना चाहते है। यह argument optional होता है।

fileObj.read(size-in-bytes)    #reads given number of bytes

यदि आप कोई भी argument pass नहीं करते है या फिर negative argument pass करते है तो file का पूरा content read किया जायेगा।

fileObj.read(-1)     #reads all content of file

यदि file की size memory से अधिक है तो ऐसे में problem हो सकती है इसलिए यह optional argument provide किया गया है ताकि file के कुछ content को देखा जा सके। 

readline()

यह method file में से एक बार में एक ही line read करता है। Line string के रूप में read की जाती है और उसके आखिर में automatically new line character (n) add कर दिया जाता है।

fileObj.readline()

यदि कोई empty line encounter होती है तो उसे सिर्फ n द्वारा show किया जाता है और file के end और empty string द्वारा represent किया जाता है।

By default readline() method सिर्फ एक ही line return करता है। सभी lines को read करने के लिए एक for loop का प्रयोग किया जा सकता है।

for line in fileObj          #Iterating over fileObj file using for loop, line represents a line in file
    print(line,end=’ ‘)      #Printing line and defining how to end a line

आप f.readlines() method द्वारा list में एक file की सभी lines को भी read कर सकते है।

write()

यह method argument के रूप में string को लेता है और उसे file में write करता है। इसके बाद यह method characters की सँख्या return करता है जो की file में write किये गए है।

fileObj.write(‘content-to-write’)   #write passed given string to file

tell()

यह function file object की current location return करता है। उदाहरण के लिए यदि आपने readline() method द्वारा एक line read की है तो file object की location second line में होगी। 

fileObj.tell()       #Get current location of file object

यह function location को bytes के रूप में दर्शाता है जो की file की शुरआत से उस location तक की दुरी को दर्शाती है।

seek()

इस method का प्रयोग file object को file में किसी location पर ले जाने के लिए किया जाता है। उदाहरण के लिए आप किसी निश्चित location से file को read करना चाहते है या फिर आप किसी location पर data enter करना चाहते है तो ऐसे में उस location तक इस method द्वारा जाया जा सकता है।

fileObj.seek(offset, from_what)        #Go to specific position in file

यह method दो arguments लेता है। इनमें second argument optional है। First argument उस position को दर्शाता है जँहा पर आप जाना चाहते है और second argument उस file में उस जगह (beginning, end etc.) को दर्शाता है जँहा से आप जाना चाहते है।

Beginning से location पर जाने के लिए 0, current location से जाने के लिए 1 और file के end से जाने के लिए 2 का प्रयोग किया जाता है।

उदाहरण के लिए यदि आप file की beginning से 6th byte पर जाना चाहते है तो first argument के रूप में 5 और second argument के रूप में 6 pass किया जायेगा।

Previous: Python Lambda Functions
Next: Python Iterators