मैं एक पाइप से लाइनें पढ़ने और उन्हें संसाधित करने की कोशिश कर रहा हूं, लेकिन मैं कुछ मूर्खतापूर्ण कर रहा हूं और मैं यह नहीं समझ सकता कि क्या। निर्माता लाइनों को अनिश्चित काल के उत्पादन रखने के लिए, इस तरह जा रहा है:पायथन - एक पाइप से सरल पठन लाइन
producer.py
import time
while True:
print 'Data'
time.sleep(1)
उपभोक्ता सिर्फ समय-समय पर लाइनों के लिए जाँच करने के लिए की जरूरत है:
consumer.py
import sys, time
while True:
line = sys.stdin.readline()
if line:
print 'Got data:', line
else:
time.sleep(1)
जब मैं इसे विंडोज़ खोल में python producer.py | python consumer.py
के रूप में चलाता हूं, तो यह हमेशा के लिए सोता है (कभी डेटा नहीं लगता है?) ऐसा लगता है कि शायद समस्या यह है कि प्रोड ucer कभी समाप्त नहीं होता है, क्योंकि यदि मैं डेटा की सीमित मात्रा भेजता हूं तो यह ठीक काम करता है।
मैं डेटा प्राप्त करने और उपभोक्ता के लिए कैसे दिखा सकता हूं? असली एप्लिकेशन में, निर्माता एक सी ++ प्रोग्राम है जिसका मेरा कोई नियंत्रण नहीं है।
क्या आपने प्रश्न की अंतिम वाक्य पढ़ी ?? – jwg