On 08/05/12 15:18, Rogelio wrote:
While reading the subprocess documentation, I found a great example on
how to call commands with a PIPE

http://docs.python.org/library/subprocess.html

**************************
output=`dmesg | grep hda`
# becomes
p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
p1.stdout.close()  # Allow p1 to receive a SIGPIPE if p2 exits.
output = p2.communicate()[0]

****************************

How do I do this and output to a file?

Have you tried defining stdout in the second command to be a file?

log = open('log.txt','w')
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=log)
...
log.close()

I haven't tried but I think that should work...

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to