In article <9d0f6456-97c7-4bde-8e07-9576b02f9...@t31g2000prh.googlegroups.com>, chad <cdal...@gmail.com> wrote: > >import subprocess as s > >broadcast = s.Popen("echo test | wall", shell=True,stdout=s.PIPE) > >out = broadcast.stdout >while 1: > out > broadcast.wait() > >broadcast.stdout.close() > > >The code only executes once. What I want to do is be able to >continuously write over the pipe once it is open. I could put >s.Popen() inside the while loop, but that seems a bit too messy. So is >there some way to just open the pipe once, and once it is open, just >continuously write over it vs just opening and closing the pipe every >time?
You really should do this instead, untested: broadcast = s.Popen(['wall'], stdin=s.PIPE) while 1: broadcast.write('test\n') time.sleep(1) -- Aahz (a...@pythoncraft.com) <*> http://www.pythoncraft.com/ "Many customs in this life persist because they ease friction and promote productivity as a result of universal agreement, and whether they are precisely the optimal choices is much less important." --Henry Spencer -- http://mail.python.org/mailman/listinfo/python-list