Treat Escape Sequence Character as Raw String in Python

कई बार हमें ऐसी जरूरत होती है कि हालांकि हमारे String में कोई Escape Sequence Character हो सकता है, लेकिन उस Escape Sequence Character को हमें Raw String की तरह ही Treat करना जरूरी होता है, अन्‍यथा हमारा Python Program सही Output नहीं देता। इस स्थिति को हम निम्‍न Example Program द्वारा ज्‍यादा बेहतर तरीके से समझ सकते हैं:

[code]
FileName: VoidEscapeSequence.py
# Open a new File text.dat at C:\new\ location
myfile = open("C:\new\text.dat","w")

Output
Traceback (most recent call last):
  File ".\VoidEscapeSequence.py", line 1, in <module>
    myfile = open("C:\new\text.dat","w")
OSError: [Errno 22] Invalid argument: 'C:\new\text.dat'
[/code]

जैसे ही हम इस Statement वाले Python Program को Execute करते हैं, हमें एक Error Message प्राप्‍त होता है और ये Error Message इसलिए प्राप्‍त होता है क्‍योंकि जब Python “C:\new\text.dat” नाम की File को Open करने का प्रयास करता है, तो “C:\new” में Exist “\n” से Python को एक New Line Create करने का Instruction मिलता है जबकि इस open() Function में Specified इस Filename का Newline Create करने से कोई मतलब ही नहीं है। इसी तरह से इसके Just आगे Specified “C:\new\text.dat” में Exist “\t” से Python को एक Tab Create करने का Instruction मिलता है जबकि इस open() Function में Specified इस Filename का Tab Create करने से कोई मतलब ही नहीं है। इसीलिए इस Statement को Execute करते ही हमें Output के रूप में Error Message प्राप्‍त होता है।

लेकिन ये Statement गलत भी नहीं है क्‍योंकि हमें इसी Specified Location “C:\new\” पर “text.dat” नाम की File को Open करना है और ये नाम व Location पूरी तरह से Valid है। इस स्थिति में हमें Python को ये बताना जरूरी होता है कि हम जिस String को Specify कर रहे हैं, उसे Raw String की तरह ही Treat किया जाए और उसमें Specified सभी Escape Sequence Characters को Ignore कर दिया जाए और Python को ये Instruction देने के लिए हमें इस String से Just पहले Character “r” Specify करना जरूरी होता है। इस तरह से यदि हम इसी Example को फिर से Modify करते हुए Recreate करें, तो हमें हमारा open() Function कुछ निम्‍नानुसार लिखना पड़ेगा-

[code]
FileName: VoidEscapeSequence.py
# Open a new File text.dat at C:\new\ location
myfile = open( r"C:\new\text.dat","w" )

Output
Traceback (most recent call last):
  File ".\VoidEscapeSequence.py", line 2, in <module>
    myfile = open( r"C:\new\text.dat","w" )
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\new\\text.dat'
[/code]

हम देख सकते हैं कि इस बार हमें वो Error Message नहीं मिल रहा है, जो पिछले Example में मिल रहा था क्‍योंकि इस Example में हमने print() Function के माध्‍यम से Display होने वाली String से Just पहले Character “r” लिखकर Python को ये Instruction दे दिया है कि हम इस String को Raw String की तरह Treat करना चाहते हैं, यानी इसमें जो भी Backspace Character Constants हैं, उन्‍हें Process करना नहीं चाहते।

हालांकि इस Output में भी हमें Error Message ही प्राप्‍त हो रहा है, लेकिन ये Error Message केवल इसलिए Display हो रहा है क्‍योंकि हम जिस File को Open करना चाह रहे हैं, वो File वास्‍तव में Disk पर मौजूद ही नहीं है।

और जैसाकि हमने पहले भी बताया कि जब किसी Raw String में Single Backslash Character को Specify किया जाता है, जब Python उसे Double Backslash में बदल देता है। इसी वजह से हमें जो Output प्राप्‍त हो रहा है उसमें File के Name with Location ‘C:\\new\\text.dat’ में अपने आप ही Double Backslash Add हो गया है।

Strings में Backslash Characters को Raw String के रूप में Treat करने के लिए Prefix के रूप में “r” लिखने के बजाय हम Single Backslash के स्‍थान पर Double Backslash का प्रयोग करते हुए open() Function को निम्‍नानुसार भी लिख सकते हैं-

[code]
FileName: VoidEscapeSequence.py
# Open a new File text.dat at C:\new\ location
myfile = open( "C:\\new\\text.dat","w" )
[/code]

ये Statement Exactly उसी तरह से काम करता है, जिस तरह से पिछले Example में Specify किया गया Raw String करता है।

यहां ध्‍यान देने वाले एक बात ये भी है कि Row String Character “r” को String के Quotes के साथ बिलकुल चिपकाकर लिखना होता है। यदि इस Row String Character “r” के Just बाद में एक Single Space भी हो, तो Python Error Message Return कर देता है।

Escape Sequence Character Constants
Triple Quotes Code Multiline Block Strings

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS