मान लीजिए कि doc.txt
क्यों नहीं .rstrip (' n') काम करता है?
a
b
c
d
होता है और मेरे कोड
f = open('doc.txt')
doc = f.read()
doc = doc.rstrip('\n')
print doc
है यही कारण है कि मैं एक ही मान मिलता है चलो?
मान लीजिए कि doc.txt
क्यों नहीं .rstrip (' n') काम करता है?
a
b
c
d
होता है और मेरे कोड
f = open('doc.txt')
doc = f.read()
doc = doc.rstrip('\n')
print doc
है यही कारण है कि मैं एक ही मान मिलता है चलो?
str.rstrip()
पीछे नई लाइन को हटा देता है, मध्य में सभी न्यूलाइन नहीं। आखिरकार आपके पास एक लंबी स्ट्रिंग है।
का उपयोग अपने दस्तावेज़ को लाइनों में विभाजित करने के लिए; आप इसे पुन: शामिल कर सकते हैं अगर आप चाहते हैं:
doclines = doc.splitlines()
doc_rejoined = ''.join(doclines)
लेकिन अब doc_rejoined
सभी लाइनों परिसीमक के बिना एक साथ चल रहा होगा।
rstrip
पूरे स्ट्रिंग से रिक्त स्थान पीछे स्ट्रिप्स। यदि आप इसे अलग-अलग लाइनों पर काम करने की उम्मीद कर रहे थे, तो आपको doc.split('\n')
जैसे कुछ का उपयोग करके पहले स्ट्रिंग को स्ट्रिंग में विभाजित करने की आवश्यकता होगी।
क्योंकि आप एक स्ट्रिंग की तरह दिखता में पूरे दस्तावेज़ पढ़ें:
'a\nb\nc\nd\n'
जब आप कि स्ट्रिंग पर एक rstrip('\n')
करते हैं, केवल सबसे दायीं ओर \n
, हटा दिया जाएगा अन्य सभी अछूते ही रहे, तो स्ट्रिंग इस तरह दिखेगा:
'a\nb\nc\nd'
समाधान फ़ाइल को लाइनों में विभाजित करना होगा और फिर प्रत्येक पंक्ति को सही पट्टी करना होगा। या बस कुछ नए अक्षरों को प्रतिस्थापित करें: s.replace('\n', '')
, जो आपको 'abcd'
देता है।
ऐसा करें:
with open('doc.txt') as f:
for line in f:
print line,
स्पष्टीकरण:
with
उपयोग कर रहा है एक फ़ाइल को खोलने की सिफारिश की रास्ता है, जो अंत में फ़ाइल को बंद करने का ख्याल रखता हैfor line in f
rstrip()
पर कॉल करने की आवश्यकता नहीं है, क्योंकि हम पढ़ रहे हैं और एक समय में एक लाइन को प्रिंट करनाreplace का उपयोग करने पर विचार करें और '\ n' के प्रत्येक उदाहरण को '' 'के साथ बदलें। यह इनपुट टेक्स्ट में सभी नए लाइन वर्णों से छुटकारा पा जाएगा।
या बस 'प्रतिस्थापित करें (' \ n ',' ')'। रेखा के अंत में एक लाइन के अंत को छोड़कर कहीं भी नहीं होता है। – user2357112
@ user2357112 बेस्ट उत्तर। – Deneb