Ya mire la documentación y entiendo un poco mas, claro que tengo mis dudas acerca de algunas cosas;
Intente ejecutar los códigos como muestras pero nada, me salen errores:
Código:
# python a.py | python b.py
File "b.py", line 3
SyntaxError: Non-ASCII character '\xc2' in file b.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
File "a.py", line 3
SyntaxError: Non-ASCII character '\xc2' in file a.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
que arregle colocando el encoding:
Código:
#!/usr/bin/python
# -*- coding: utf-8 -*-
Luego me sale error de sintaxis:
Código:
python a.py | python b.py
File "b.py", line 4
* * while 1:
^
SyntaxError: invalid syntax
File "a.py", line 5
* * print i
^
SyntaxError: invalid syntax
Para el ejemplo que me estas mostrando, no se cual es la variable a exportar? tampoco se a donde cae la variable importada?
También mire el tema 16.6. multiprocessing — Process-based “threading” interface y me interesa la parte de "Queues" y "Pipes" pero como en los ejemplos, no entiendo como un archivo me manda la variable y como el otro la recibe
en Queues, a q se le entrega una lista,q es Queue, p? imprima q, p join?
Código:
from multiprocessing import Process, Queue
def f(q):
q.put([42, None, 'hello'])
if __name__ == '__main__':
q = Queue()
p = Process(target=f, args=(q,))
p.start()
print q.get() # prints "[42, None, 'hello']"
p.join()
en Pipes, a conn.send se le manda una lista, conn.close cerrar, parent_conn? child_conn? = Pipe()? p = Process(target=f, args=(child_conn,))? p.start() iniciar proceso, print parent_conn.recv()? p.join()?
Código:
from multiprocessing import Process, Pipe
def f(conn):
conn.send([42, None, 'hello'])
conn.close()
if __name__ == '__main__':
parent_conn, child_conn = Pipe()
p = Process(target=f, args=(child_conn,))
p.start()
print parent_conn.recv() # prints "[42, None, 'hello']"
p.join()
Eso con respecto al flujo de los datos, gracias por tu ayuda y un gran saludo.