calls, when I came across this from 6 years ago. I tried what was
suggested in this thread, but
output = os.popen("/tmp/other").read()
returns
sh: line 1: /tmp/other: Permission denied
I'm relatively new to Python, hardly ever use the shell and am
currently running Python 2.5.5 on Mac OS 10.4.10
Cameron Laird <claird at starbase.neosoft.comwrote:
In article <98795o$kq8$0 at 216.39.151.169>, Donn Cave <donn atoz.netwrote:
tutorial),>>Quoth Damian Menscher <menscher+python at uiuc.edu>:
| I'm new to Python (as in, my experience is essentially the
recognize>>| but I've already come up with an interesting question:
|
| How do I get the return code from an os.system call? I would have
| expected I could do something like
|
| ---returncode---
| #/bin/csh
| echo do stuff
| exit 3
|
| and then in my python program I could do
|
| print os.system('./returncode')
|
| But it prints out 768. Not particularly useful, even after I
because a>>| the trick of dividing by 256 (byte-swapping going on? No,
cause>>| return code of 768 reports as 0). Given that my real return codes
| will be (possibly large) integers, this limitation will likely
script).>>| some serious problems down the line.
|
| Even better would be a way of returning a string (the script I run
| can be something other than csh, but it has to be a separate
then>>|
| Ideas? I'm trying to avoid writing the string out to a file and
>>| read the file back in to the python program....
Guys, guys; you are making it too hard on Mr. Menscher. My guessThank you much -- this solves my problem. I'm sure I'll have more
is that he'd appreciate being told that, if he creates /tmp/other
with contents
#!/bin/sh
echo "This is a string from an external process."
he can then have fun with
import os
print os.popen("/tmp/other").read()
questions in the near future, though....
Damian Menscher