Я пытаюсь читать строки из трубы и обрабатывать их, но я делаю что-то глупое, и я не могу понять, что. Производитель собирается продолжать производить линии до бесконечности, как это:Python - простые строки чтения из трубы
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)
Когда я запускаю это в оболочке Windows как python producer.py | python consumer.py
, он просто спит навсегда (никогда не получается получить данные?) Кажется, что, возможно, проблема в том, что prod ucer никогда не заканчивается, поскольку, если я отправляю конечный объем данных, тогда он работает нормально.
Как я могу получить данные, которые будут получены и отображаться для потребителя? В реальном приложении производитель - это программа на C++, над которой я не контролирую.
Вы прочитали последнее предложение вопроса? – jwg