Я хотел бы реализовать в python что-то вроде этого:
def producer():
while True:
sys.stdout.write("this is my data\n")
def consumer():
while True:
data = sys.stdin.read()
print data
producer | consumer
На самом деле канал должен создать два процесса, подключить stdout и stdin и запускать их до тех пор, пока оба не завершатся.
Есть ли синтаксическая поддержка для этого в python, как в оболочке, или мне нужно вернуться к объекту Popen
?
Какая простейшая реализация с точки зрения Popen
?
* 1011Может ли кто-нибудь предложить универсальный класс, который можно использовать для реализации этого шаблона трубопровода?Класс будет иметь подпись, подобную этой:
Class Pipe:
def __init__(self, process1, process2, ...):
, чтобы в моем случае это можно было использовать следующим образом:
mypipe = Pipe(producer, consumer)