उन्हें बचने के लिए बिना अजगर में स्ट्रिंग शाब्दिक कैसे लिखें?


97

क्या अजगर में एक स्ट्रिंग चर घोषित करने का एक तरीका है जैसे कि इसके अंदर सब कुछ स्वचालित रूप से बच जाता है, या इसका शाब्दिक चरित्र मूल्य है?

मैं यह नहीं पूछ रहा हूं कि स्लैश के साथ उद्धरण से कैसे बचा जाए, यह स्पष्ट है। मैं जो कुछ पूछ रहा हूं, वह सब कुछ एक स्ट्रिंग शाब्दिक बनाने के लिए एक सामान्य उद्देश्य है, ताकि मुझे मैन्युअल रूप से बहुत बड़े तार के लिए सब कुछ न करना पड़े। किसी को भी एक समाधान का पता है? धन्यवाद!

जवाबों:



69

यदि आप बहुत बड़े तार, विशेष रूप से बहु-तार तार के साथ काम कर रहे हैं, तो ट्रिपल-उद्धरण वाक्यविन्यास से अवगत रहें:

a = r"""This is a multiline string
with more than one line
in the source code."""

1
क्या यह निर्माण लाइन ब्रेक वर्णों का परिचय देता है? यही है, चर aमें दो लाइन ब्रेक वर्णों के साथ एक स्ट्रिंग होगी?
MadPhysicist

7
@MadPhysicist: हाँ, परिणामी स्ट्रिंग में उपरोक्त मामले में दो नए अंक होंगे।
ग्रेग हेविगिल

समझ लिया। और अगर इस स्ट्रिंग पर 'स्प्लिट ()' का प्रयोग किया जाता है, तो क्या यह डिफॉल्ट रूप से लाइनों से विभाजित हो जाएगा?
MadPhysicist

1
@MadPhysicist .split () के लिए डिफ़ॉल्ट व्हाट्सएप द्वारा विभाजित किया गया है, और नए लिंक व्हाट्सएप हैं।
ग्रेग हेवगिल

1
मैंने पहले भी इसका इस्तेमाल किया है और यह ठीक काम करता है। जागरूक होने के लिए दो चीजें: अन्य लाइनों पर इंडेंटेशन (रिक्त स्थान) शामिल हैं जो वांछनीय है; यदि लंबी स्ट्रिंग को "अच्छा नहीं होने के साथ समाप्त किया जाता है, क्योंकि पूरी चीज समाप्त हो जाएगी """" जिसके साथ एक वाक्यविन्यास त्रुटि है।
नगेव

9

ऐसा कुछ नहीं है। ऐसा लगता है कि आप पर्ल और गोले में "यहाँ दस्तावेज़" जैसे कुछ चाहते हैं, लेकिन पायथन के पास ऐसा नहीं है।

कच्चे तारों या बहुस्तरीय तारों का उपयोग करने का अर्थ केवल यह है कि चिंता करने वाली कम चीजें हैं। यदि आप एक कच्ची स्ट्रिंग का उपयोग करते हैं तो आपको अभी भी एक टर्मिनल "\" के आसपास काम करना होगा और किसी भी स्ट्रिंग समाधान के साथ आपको समापन के बारे में चिंता करनी होगी ", ',' 'या" "" यदि यह आपके डेटा में शामिल है ।

यही है, स्ट्रिंग करने का कोई तरीका नहीं है

 '   ''' """  " \

किसी भी प्रकार के आंतरिक भागने के बिना किसी भी पायथन स्ट्रिंग शाब्दिक में ठीक से संग्रहीत।



1

(यह मानते हुए कि आप सीधे पायथन कोड से स्ट्रिंग इनपुट करने के लिए आवश्यक नहीं हैं)

एंड्रयू डल्के ने इश्यू के चारों ओर जाने के लिए, बस शाब्दिक स्ट्रिंग को एक टेक्स्ट फ़ाइल में टाइप किया और फिर इसका उपयोग किया;

input_ = '/directory_of_text_file/your_text_file.txt' 
input_open   = open(input_,'r+')
input_string = input_open.read()

print input_string

यह पाठ फ़ाइल में जो कुछ भी है, उसके शाब्दिक पाठ को प्रिंट करेगा, भले ही यह हो;

 '   ''' """   \

मजेदार या इष्टतम नहीं है, लेकिन उपयोगी हो सकता है, खासकर यदि आपके पास कोड के 3 पृष्ठ हैं जो चरित्र से बचने की आवश्यकता होगी।


-1

यदि स्ट्रिंग एक चर है, का उपयोग करें। उस पर रीप विधि:

>>> s = '\tgherkin\n'

>>> s
'\tgherkin\n'

>>> print(s)
    gherkin

>>> print(s.__repr__())
'\tgherkin\n'

यह बुरा शैली नहीं माना जाता है, हालांकि?
शा.शा. द।

क्या, gherkins?
23

1
आप repr(s)बेहतर शैली के लिए उपयोग कर सकते हैं
xuiqzy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.