Thanks MRAB,
> 
> You need to ensure that the pipe is already open at the other end.

So I need to open the process that reads the pipe before writing in it?

> 
> 
> 
> Why are you using a named pipe anyway?

For some bug in ipython (see my previous email) I can't use subprocess.Popen 
and pipe in the standard way.
One of Ipython developers has suggested me to use named pipes as a temporary 
workaround. So I am taking the occasion to learn :)

 
> 
> If you're talking to another program, then that needs to be running
> 
> already, waiting for the connection, at the point that you open the
> 
> named pipe from this end.

I am not entirely sure I got this: ideally I would like to have a function that 
runs an external tool (the equivalent of ls in my example) redirecting its 
output in a named pipe.

A second function (the cat command in my example) would read the named_pipe, 
parse it and extract some features from the output.

I also would like that the named_pipe is deleted when the whole communication 
is ended.


> 
> If you're using a pipe _within_ a program (a queue would be better),
> 
> then you should opening for writing in one thread and for reading in
> 
> another.

Let's stick with the pipe :) I will ask about the queue when I manage to use 
pipes ;)

I should have explained better that I have no idea how to run threads in Python 
:): how do I open a thread that executes "ls -lah" in background and writes 
into a named pipe? And how do I open a thread that reads from the named pipe?

Can you please post a small example, so that I have something to work on?

Thanks a lot in advance for your help!

Luca
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to