On May 26, 2:12 pm, lone_eagle <icym...@gmail.com> wrote: > Hi all, > > On Linux, I do something like this > > $ program_to_execute < input_file > ... get some output ... > > I have the content of the input_file as a string inside a python > program and would like to pass this string to the external program > from inside the python program and get back the programs output in a > string/file. Can someone tell me how to achieve this. I have been > through the documentation for Popen, but this one beats me. > > Cheers, > Chaitanya
Sounds like subprocess is what you want. Here's a quick ad-hoc example. You can find more information on the module at http://docs.python.org/library/subprocess.html. [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> sub = subprocess.Popen('/bin/gzip', stdin=subprocess.PIPE, >>> stdout=subprocess.PIPE) >>> g = sub.communicate('Please, sir, gzip me?') >>> import gzip >>> import StringIO >>> gzip.GzipFile(fileobj=StringIO.StringIO(g[0])).read() 'Please, sir, gzip me?' >>> Thanks, Jeff mcjeff.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list