On Nov 7, 11:31 am, [EMAIL PROTECTED] wrote: > On Nov 7, 7:58 am, [EMAIL PROTECTED] wrote: > > > > > Hi there, > > > I've been banging my head against this for a day, and I can't take it > > anymore. It's probably a stupid error, but I don't see where. > > > I'm trying to use Python to call an external program, and then catch > > and process the output of that program. Seems simple enough. The > > command I'm trying to run, in the test, is: > > > "/Users/zane/svn/stress/satstress/satstress -r1.561e+06 -a5 -s45000 - > > e0 -R6.709e+08 -g1.31472 -m1.8987e+27 -Q57100.1 -n0.333355 -Y9.29881e > > +09 -k1e+22 -Z1.19173 -z-6.293e-05 -V0.309434 -v-2.903e-05 -W1.81305 - > > w-0.00418645 -U0.474847 -u-0.00276624 -C /tmp/18_tmp.gen -b 60" > > > When I run it at my zsh prompt, I get the expected output. > > > If I let ss_cmd equal the above string within ipython (or the standard > > python interactive interpreter): > > > ss_outlines = os.popen(ss_cmd).readlines() > > > ss_outlines contains the same output I saw when I ran the command at > > my zsh prompt, one line per list element, as expected. > > > However, when I try doing the same thing from within a program, it > > fails. ss_outlines is an empty list. > > > I've tried using subprocess.Popen(), and subprocess.call(), and > > subprocess.check_call(), and all have yielded similar results. I did > > find, however, that the return value python is getting from the > > program I'm calling is different from what I get at the command line > > (I get 0, python gets -11). > > > Does this ring a bell for anyone? > > > I'm using Python 2.5.1 on a Mac running OS X 10.5. > > I think when you use subprocess.Popen, you need to do something set > the shell to True to get it to behave like running from a command > prompt: > > subprocess.Popen('some command', shell=True) > > Seehttp://docs.python.org/lib/node529.htmlfor more details. > > You'll also find a fairly interesting thread on this topic here: > > http://mail.python.org/pipermail/chicago/2005-November/000141.htmlhttp://mail.python.org/pipermail/python-list/2005-October/347508.html > > This seems to be a recipe on it: > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/440554 > > Mike
That's right, and I think you also want to put the whole command in a list or tuple, one item for each arg. I don't know why though. -Greg -- http://mail.python.org/mailman/listinfo/python-list