2010-12-11 12 views
14

मेरे पास स्ट्रिंग यू है, इसकी सामग्री चरणीय है। मैं इसे कच्ची स्ट्रिंग बनाना चाहता हूं। यह कैसे करना है?पायथन रॉ स्ट्रिंग्स

आर 'विधि के समान कुछ।

U = str(var) 
+6

स्ट्रिंग स्थिर परिभाषित करते समय कच्चे तार केवल एक अलग वाक्यविन्यास होते हैं। विशेष रूप से आप var से क्या चाहते हैं जो आपको कच्चे तारों का उपयोग करने के बारे में सोचता है? –

+1

क्या आप पाइथन 2 या पायथन 3 का उपयोग कर रहे हैं? यदि पायथन 3, क्या आप शायद 'बाइट्स' प्रकार के बारे में पूछ रहे हैं? –

उत्तर

17

कच्चे तार केवल स्ट्रिंग अक्षर पर लागू होते हैं। वे मौजूद हैं ताकि आप स्ट्रिंग्स को अधिक आसानी से व्यक्त कर सकें जिन्हें एस्केप अनुक्रम प्रोसेसिंग द्वारा संशोधित किया जाएगा। नियमित रूप से अभिव्यक्तियों, या स्ट्रिंग अक्षर में कोड के अन्य रूपों को लिखते समय यह सबसे विशेष रूप से उपयोगी होता है। यदि आप बिना किसी प्रसंस्करण के यूनिकोड स्ट्रिंग चाहते हैं, तो इसे ur के साथ उपसर्ग करें, जैसे ur'somestring'

+6

मैं @TokenMacGuy को यह जानने की उम्मीद नहीं करता लेकिन वे विंडोज़ पर पथ परिभाषित करने के लिए भी उपयोगी हैं जो बैकस्लैश का उपयोग पथों में विभाजक चरित्र के रूप में करता है, जैसे 'r'C: \ Python27 \ tools \ scripts \ 2to3। py'' – martineau

+8

अलास, टोकनमैकगुई सिर्फ नाम है। मेरी मुख्य मशीन खिड़कियां चलाती है। * असली * कारण मैं फ़ाइलपैथ के लिए कच्चे तार का उपयोग नहीं करता क्योंकि मैं कभी भी पथनाम को हार्डकोड नहीं करता हूं। – SingleNegationElimination

35

कच्चे तार एक अलग प्रकार की स्ट्रिंग नहीं हैं। वे आपके स्रोत कोड में एक स्ट्रिंग का वर्णन करने का एक अलग तरीका हैं। एक बार स्ट्रिंग बनने के बाद, यह वही है।

+6

+1 दुर्लभ, सटीक उपयोग के लिए "यह वही है" – LoveMeSomeCode

+0

यह वास्तव में गलत है। सही प्रतिक्रिया के साथ यहां एक और जवाब है: "कच्चे तार उनके अंदर कुछ भी नहीं बचते हैं"। – igorsantos07

26

मुझे विश्वास है कि आप जो खोज रहे हैं वह str.encode ("string-escape") फ़ंक्शन है। उदाहरण के लिए, यदि आप एक चर राशि आप 'कच्चे स्ट्रिंग' करना चाहते हैं कि:

a = '\x89' 
a.encode('unicode_escape') 
'\\x89' 

नोट: अजगर 2.x के लिए उपयोग string-escape और पुराने संस्करणों

मैं एक ऐसी ही समाधान के लिए खोज रहा था और पाया समाधान: casting raw strings python

+0

यह समाधान है। – erikbwork

+4

पायथन 3.5.1 पर: 'लुकअप त्रुटि: अज्ञात एन्कोडिंग: स्ट्रिंग-एस्केपिंग' – nnyby

+0

@nnyby इसके बजाय 'यूनिकोड_स्केप' का उपयोग करें –

संबंधित मुद्दे