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

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to