मुझे लगता है कि मुझे पता है कि क्या हो रहा है। आप enter
पर मारने के बिना ctrl-D
पर मार रहे हैं। यदि आप प्रोग्राम में एक लाइन भेजना चाहते हैं, तो बस एंटर दबाएं। यदि आप ctrl-D
को enter
पर मारने के बिना हिट करते हैं, तो आप ctrl-D
फिर से हिट कर सकते हैं और आपके प्रोग्राम को तब लाइन देखना चाहिए। इस मामले में (दो ctrl-D
एस उत्तराधिकार में), आपके कार्यक्रम को लाइन के अंत में एक नई लाइन नहीं दिखाई देगी।
उदाहरण के लिए, मान लीजिए कि मैं एक अजगर स्क्रिप्ट a.py
डालते हैं:
import sys
for line in sys.stdin:
sys.stdout.write('%s' % line)
और मैंने इसे निष्पादित करें:
$ python a.py
और फिर यह डालें:
line 1
line 2<ctrl-D><ctrl-D>
कार्यक्रम प्रिंट करेगा:
line 1
line 2$
$
शेल-प्रॉम्प्ट है। उपरोक्त इनपुट के साथ एक पूर्ण सत्र यहां दिया गया है:
$ पायथन ए।py
लाइन 1
लाइन 2 पंक्ति 1
लाइन 2 $
(बोल्ड दिखाने के कार्यक्रम के उत्पादन। रोमन मामले दिखा रहा क्या टाइप, बिना दो ctrl-D
रों के लिए है)
यदि ऐसा नहीं हो रहा है, तो आपको जो कुछ भी कर रहे हैं उसके बारे में हमें और बताना होगा।
स्रोत
2009-12-12 08:14:22
जैसे ही आप टर्मिनल करते हैं, जैसे ही टर्मिनल काम करते हैं, आपका इनपुट पायथन को भेजा जाता है। –
यदि आप यह बदलना चाहते हैं कि यह कैसे काम करता है, तो पाइथन को टर्मिनल सेटिंग्स बदलनी है, जो काला जादू है ... शायद 'टर्मियोस' मॉड्यूल देखें? http://docs.python.org/library/termios.html –