File Management in Python – चलिए, अब हम File की Opening से लेकर Closing तक की पूरी प्रक्रिया को एक Simple Example के माध्यम से Implement करके समझते हैं-
[code] FileName: TuplesBasics.py print("Create File names.txt in Writing Mode") # Open File in Writing Mode fpNames = open("names.txt","w") # Write Content in Buffer for the File intChars = fpNames.write("KRISHNA \t MURARI \n") print("Number of Characters written in Buffer:", intChars) intChars = fpNames.write("MADHAV \t BIHARI \n") print("Number of Characters written in Buffer:", intChars, "\n") # Close the File and Flush the Content of Buffer to Disk fpNames.close() print("Open File names.txt in Reading Mode") # Open File in Reading Mode fpNames = open("names.txt","r") # Read the First Line from the File and Write to Screen print(fpNames.readline()) # Read the Second Line from the File and Write to Screen print(fpNames.readline()) # Close the File and Flush the Empty Buffer to Disk fpNames.close() # Read Whole File Content print("Read Whole File Content as String") fpNames = open("names.txt","r") print(fpNames.read()) fpNames.close() # Read Line by Line using File Iterator print("Read Line by Line using File Iterator") fpNames = open("names.txt","r") for line in fpNames: print(line, end='') fpNames.close() [/code]
इस Example के अनुसार जब हमारा Program Run होता है, तो Python, Current Directory में ही names.txt नाम की एक File Open करता है। अब चूंकि ये File पहले से Hard Disk पर Exist नहीं है, इसलिए Python इस नाम की एक नई File Create करता है और फिर उस Newly Created File का Reference fpNames नाम के Variable में Store कर देता है।
फिर अगले Statement में write() Method Execute होता है जिसमें दो String Content को File में Write करने के लिए निम्नानुसार Invoke किया गया है-
fpNames.write(“KRISHNA \t MURARI \n”)
fpNames.write(“MADHAV \t BIHAR \n”)
इस String में हमने Tab व Newline Character Constant के माध्यम से String की Formatting भी की है। ताकि File में जब ये Content Write हो, तब व्यवस्थित दिखाई दे।
जब हम Content को File में Write करने के लिए write() Method Use करते हैं, तब जितने भी Characters इस Method द्वारा Buffer में Write किए जाते हैं, ये Method उन Characters की संख्या Return करता है, जिन्हें हम निम्नानुसार Output के रूप में देख सकते हैं-
Number of Characters written in Buffer: 18
Number of Characters written in Buffer: 17
अब क्योंकि ये File अभी तक Reading Mode में Open है, इसलिए इसमें जो भी Content इन write() Methods द्वारा लिखा गया है, वो सब अभी तक Buffer Memory में ही Stored है। इस Content को Actual Disk File पर Transfer करने के लिए हमें File को Close करना होगा अथवा Flush करना होगा और इस काम को निम्नानुसार close() Method का प्रयोग करते हुए किया गया है-
fpNames.close()
अब यदि हम चाहें, तो अपनी Create होने वाली names.txt File को Notepad के माध्यम से देख सकते हैं, जिसमें लिखे Contents कुछ निम्नानुसार दिखाई देते हैं-
हम देख सकते हैं कि write() Method में Specified String में हमने जहां पर Tab Character Constant दिया है, वहां से आगे का अगला Name एक Tab दूर है, जबकि जहां पर हमने Newline Character Constant Specify किया है, वहां के आगे का Content अगली Line में Print हो रहा है।
हालांकि हम हमारी Newly Created File के Text Content को Notepad के माध्यम से देख सकते हैं, लेकिन हम इस File को Python Program के माध्यम से Read करना चाहते हैं, इसलिए अगले Program Statement के रूप में हमने निम्नानुासर इसी File को फिर से Open किया है, लेकिन इस बार इस File को Reading Mode में Open किया है-
fpNames = open(“names.txt”,”r”)
चूंकि इस बार हम जिस File को Open करना चाहते हैं, वह File Disk पर पहले से मौजूद है, इसलिए इस बार names.txt नाम की File Reading Mode में Open हो जाती है। लेकिन यदि ये File Disk पर पहले से मौजूद न होती, तो उस स्थिति में ये Statement Execute होते ही हमें FileNotFoundError Return करता।
File Open होने के बाद एक बार फिर से इस File का Reference fpNames नाम के Variable में Store हो जाता है, जहां निम्नानुसार अगले Statement के readline() Method द्वारा हम File के Content को Read करना शुरू करते हैं-
print(fpNames.readline())
ये readline() Method एक बार में केवल एक ही Complete Content Line को Read करके Return करता है। लेकिन हमारे Current Text File में जो Content है, वो दो Lines में हैं, इसीलिए हमने इस Statement को दो बार लिखा है, ताकि हमें File में Exist दोनों Lines के Text Content प्राप्त हो जाऐं। परिणामस्वरूप हमें निम्नानुसार Output प्राप्त हो जाता है-
KRISHNA MURARI
MADHAV BIHAR
हम देख सकते हैं कि ये Output Exactly वैसा नहीं दिखाई दे रहा है, जैसा Notepad द्वारा names.txt File को Open करने पर दिखाई दे रहा है। ऐसा इसलिए हो रहा है क्योंकि जब हम Python Program के माध्यम से Output देखते हैं, तब print() Statement भी Newline Display करता है और write() Method में String के अन्त में हमने जो Newline Character Constant Specify किया है, उसके कारण भी एक Newline Display हो रहा है। इसीलिए इस Output में वास्तव में दो Newlines दिखाई देने के कारण ही दोनों Output की Formatting में अन्तर दिखाई दे रहा है।
जब हम अपनी Open की जाने वाली File के सम्पूर्ण Content को एक ही बार में Read कर लेना चाहते हैं, तब हमें read() Method को Use करना होता है जो कि Exactly वही Output देता है, जो हमें तब प्राप्त होता है जब हम हमारी File को Notepad के माध्यम से Open करते हैं-
KRISHNA MURARI
MADHAV BIHARI
साथ ही Python हमें File Object से Associated File के Content को Iterator के माध्यम से एक बार में पूरी एक Line को Read करने की सुविधा भी देता है, जिसे हम for Loop के माध्यम से निम्नानुसार Access कर सकते हैं-
fpNames = open(“names.txt”,”r”)
for line in fpNames:
print(line, end=”)
fpNames.close()
किसी File के Content को Line by Line Read करने का ये अच्छा तरीका है और यदि हम इसे निम्नानुसार Modify कर दें-
for line in open(“names.txt”,”r”):
print(line, end=”)
fpNames.close()
तो File के Content को Line by Line Read करने का ये सबसे Best तरीका है क्योंकि इस तरीके में Memory भी कम Use होता है और File के Content को Read करने का ये तरीका अन्य तरीकों से ज्यादा Fast भी है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF