#!/usr/bin/python
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?
I'm pretty sure you meant:
out.write(somedata)
Cheers,
Chris
--
http://blog.rebertia.com
You really should do this instead, untested:
broadcast = s.Popen(['wall'], stdin=s.PIPE)
while 1:
broadcast.write('test\n')
time.sleep(1)
--
Aahz (aa...@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