Ok a pesar de que el pipeline se puede ajustar muy bien a lo que tu pides también puedes hacer uso de Threads.
Ejemplo de pipeline:
Código Python:
Ver original#A.py
from time import sleep
import sys
for i in xrange(10):
print i
sys.stdout.flush()
sleep(1)
Código Python:
Ver original#B.py
try:
while 1:
a = raw_input()
print int(a) * 2#Simular alguna operacion
except Exception, e:
print "Fin del archivo"
Al momento de ejecutarlo en consola (implicando conocimiento previo en linea de comandos)
Solo haces un:
Código:
$ python A.py | python B.py
Ahora si por alguna razón no puedes modificar A.py para meterle el sys.stdout.flush() entonces puedes hacer esto. Ejemplo:
Código Python:
Ver original#A.py
from time import sleep
for i in xrange(10):
print i
sleep(1)
Código Python:
Ver original#B.py
try:
while 1:
a = raw_input()
print int(a) * 2#Simular alguna operacion
except Exception, e:
print "Fin del archivo"
Código:
$ python -u A.py | python B.py