2012-04-19 6 views
6

मैं एक चर के अंदर एक संदेश संग्रहीत करने के लिए raw_input() का उपयोग कर रहा हूँ। इसलिए मैं एक नया पैराग्राफ शुरू करने के लिए कैरिज रिटर्न/नई लाइन के लिए एंटर दबा नहीं सकता। अभी अगर मैं एंटर दबाता हूं तो यह मेरे प्रोग्राम के अगले भाग में आगे बढ़ेगा।पायथन raw_input() फ़ंक्शन में एक नई लाइन कैसे शामिल करें?

मैं पहले से ही कुछ इस तरह की कोशिश की:

>>> message = raw_input("Message: ") 
Message: Hello Sir, \n It's great that.. 
>>> message 
"Hello Sir, \\n It's great that.." 
>>> 

यह काम नहीं किया था, और मैं भी सिंगल और डबल उद्धरण है, जो भी काम किया नहीं था में यह enclosing की कोशिश की।

मैं समझता हूँ कि वहाँ wxPython का उपयोग कर या tkinter की तरह यह कर, की अन्य तरीके हैं कि, लेकिन मैं इसे सख्ती से सांत्वना रखना चाहते हैं। क्या यह संभव है?

उत्तर

7

क्या आप sys मॉड्यूल का उपयोग कर सकते हैं? यदि आप चाहें तो यह चाल करेगा। इसे समाप्त करने के लिए बस Ctrl-D दबाएं।

import sys 
message = sys.stdin.readlines() 

अन्यथा, यह आपके प्रश्न के उत्तर: Python raw_input ignore newline

+0

sys.stdin.readlines() एक आकर्षण की तरह काम करता है, लेकिन मैं प्राप्त करने के लिए Ctrl-D काम करने के लिए मैं पता नहीं क्यों नहीं कर पा रहे? – coffeeNcode

+0

मैंने इसे समझ लिया, मुझे इसके बजाय ctrl-c का उपयोग करना होगा, लेकिन अगर मैं संदेश मुद्रित करने का प्रयास करता हूं तो अब मुझे कीबोर्ड इंटरप्ट त्रुटि मिलती है। – coffeeNcode

+1

मैंने अंत में इसे समझ लिया! मैं ctrl-c का उपयोग नहीं कर सकता, यही कारण है कि कीबोर्ड त्रुटि को बाधित करता है, और मैं ctrl-d का उपयोग नहीं कर सकता क्योंकि मैं विंडोज़ पर हूं, मुझे ctrl-z या f6 का उपयोग करना है और फिर यह कंसोल में प्रदर्शित होगा इस तरह^जेड और एंटर दबाएं। इसके बाद मुझे एक सूची से संदेश को एक स्ट्रिंग में परिवर्तित करना होगा, जिसे मैं ऐसा करने के लिए प्रबंधन करता हूं >>> roughmessage = sys.stdin.readlines() >>> message = '' .join (roughmessage) – coffeeNcode

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

  • कोई संबंधित समस्या नहीं^_^