On Jul 2, 11:32 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> On Jul 2, 1:12 pm, 7stud <[EMAIL PROTECTED]> wrote:
>
>
>
> > Hi,
>
> > Can someone explain what a broken pipe is?  The following produces a
> > broken pipe error:
>
> > ----------
> > import subprocess as sub
>
> > p = sub.Popen(["ls", "-al", "../"], stdin=sub.PIPE, stdout=sub.PIPE)
>
> > print p.stdout.read()
> > #outputs the files correctly
>
> > p.stdin.write("ls\n")
> > #IOError: [Errno 32] Broken pipe
> > -----------
>
> You are seeing this error because sub.Popen closes both stdin and
> stdout once the subprocess terminates (which it must have done for
> p.stdout.read() to return a result).
>
> Consequently you are trying to write to a pipeline whose reader has
> already closed it, hence the error message.
>
> regards
>  Steve

Hi,

Thanks for the response.  So are you saying that the only way you can
get data out of a pipe is when the subprocess has terminated?

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

Reply via email to