[Tutor] using subprocess to export files in bash

Alan Gauld alan.gauld at btinternet.com
Tue May 8 19:41:42 CEST 2012


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/



More information about the Tutor mailing list