Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #65217
| From | Mark Lawrence <breamoreboy@yahoo.co.uk> |
|---|---|
| Subject | Re: piping with subprocess |
| Date | 2014-02-01 14:28 +0000 |
| References | <d06a0b0e-3fb9-4e69-8104-bfe4a556fa0e@googlegroups.com> <mailman.6276.1391259231.18130.python-list@python.org> <b6be26ab-f0a6-4e35-9c44-6b03d1ea96e6@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.6279.1391264938.18130.python-list@python.org> (permalink) |
On 01/02/2014 13:54, Rick Dooling wrote: > On Saturday, February 1, 2014 6:54:09 AM UTC-6, Peter Otten wrote: >> Rick Dooling wrote: >> >> >> >>> I spent half a day trying to convert this bash script (on Mac) >> >>> >> >>> textutil -convert html $1 -stdout | pandoc -f html -t markdown -o $2 >> >>> >> >>> into Python using subprocess pipes. >> >>> >> >>> It works if I save the above into a shell script called convert.sh and >> >>> then do >> >>> >> >>> subprocess.check_call(["convert.sh", file, markdown_file]) >> >>> >> >>> where file and markdown_file are variables. >> >>> >> >>> But otherwise my piping attempts fail. >> >> >> >> It is always a good idea to post your "best effort" failed attempt, if only >> >> to give us an idea of your level of expertise. >> >> >> >>> Could someone show me how to pipe in subprocess. Yes, I've read the doc, >> >>> especially >> >>> >> >>> http://docs.python.org/2/library/subprocess.html#replacing-shell-pipeline >> >>> >> >>> But I'm a feeble hobbyist, not a computer scientist. >> >> >> >> Try to convert the example from the above page >> >> >> >> """ >> >> 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] >> >> """ >> >> >> >> to your usecase. Namely, replace >> >> >> >> ["dmesg"] --> ["textutil", "-convert", "html", infile, "-stdout"] >> >> ["grep", "hda"] --> ["pandoc", "-f", "html", "-t", "marktown", "-o", >> >> outfile] >> >> >> >> Don't forget to set >> >> >> >> infile = ... >> >> outfile = ... >> >> >> >> to filenames (with absolute paths, to avoid one source of error). >> >> If that doesn't work post the code you wrote along with the error messages. Would you please read and action this https://wiki.python.org/moin/GoogleGroupsPython to prevent us seeing the double line spacing above, thanks. -- My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language. Mark Lawrence
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
piping with subprocess Rick Dooling <rpdooling@gmail.com> - 2014-02-01 04:19 -0800
Re: piping with subprocess Peter Otten <__peter__@web.de> - 2014-02-01 13:54 +0100
Re: piping with subprocess Rick Dooling <rpdooling@gmail.com> - 2014-02-01 05:54 -0800
Re: piping with subprocess Rick Dooling <rpdooling@gmail.com> - 2014-02-01 06:00 -0800
Re: piping with subprocess Rick Dooling <rpdooling@gmail.com> - 2014-02-01 07:35 -0800
Re: piping with subprocess Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-02-01 15:59 +0000
Re: piping with subprocess Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-02-01 14:28 +0000
Re: piping with subprocess Peter Otten <__peter__@web.de> - 2014-02-01 18:32 +0100
Re: piping with subprocess Daniel da Silva <var.mail.daniel@gmail.com> - 2014-02-01 07:40 -0500
csiph-web