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