我想在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中是否有语法支持,就像shell一样,或者我是否需要递归到Popen
对象?
就Popen
而言最简单的实现是什么?
有人可以提供一个可以用来实现这种管道模式的泛型类吗?该课程的签名类似于:
Class Pipe:
def __init__(self, process1, process2, ...):
因此,在我的情况下,可以按如下方式使用:
mypipe = Pipe(producer, consumer)