हां, \
पायथन में स्ट्रिंग लिटरल्स एक एस्केप सीक्वेंस की शुरुआत को दर्शाता है। आपके रास्ते में आपके पास एक वैध दो-वर्ण भागने का क्रम है \a
, जो कि ASCII बेल के एक वर्ण में ढह गया है :
>>> '\a'
'\x07'
>>> len('\a')
1
>>> 'C:\meshes\as'
'C:\\meshes\x07s'
>>> print('C:\meshes\as')
C:\meshess
अन्य सामान्य एस्केप सीक्वेंस में \t
(टैब), \n
(लाइन फीड), \r
(कैरिज रिटर्न) शामिल हैं:
>>> list('C:\test')
['C', ':', '\t', 'e', 's', 't']
>>> list('C:\nest')
['C', ':', '\n', 'e', 's', 't']
>>> list('C:\rest')
['C', ':', '\r', 'e', 's', 't']
जैसा कि आप देख सकते हैं, इन सभी उदाहरणों में बैकलेश और शाब्दिक में अगले चरित्र को एक साथ अंतिम स्ट्रिंग में एकल वर्ण बनाने के लिए समूहीकृत किया गया था। पायथन के भागने के दृश्यों की पूरी सूची यहाँ है ।
इससे निपटने के लिए कई तरीके हैं:
अजगर के साथ उपसर्ग स्ट्रिंग शाब्दिक में भागने दृश्यों को संसाधित नहीं करेंगे r
याR
:
>>> r'C:\meshes\as'
'C:\\meshes\\as'
>>> print(r'C:\meshes\as')
C:\meshes\as
विंडोज पर अजगर को आगे के स्लैश को भी संभालना चाहिए।
आप उपयोग कर सकते हैं os.path.join
...
>>> import os
>>> os.path.join('C:', os.sep, 'meshes', 'as')
'C:\\meshes\\as'
... या नया pathlib
मॉड्यूल
>>> from pathlib import Path
>>> Path('C:', '/', 'meshes', 'as')
WindowsPath('C:/meshes/as')