I'm using Python to call bash to execute another bash script:
begin = int(sys.argv[1])
result = os.system("/tesladata/isetools/cdISE.bash %s" %begin)
After I printed result, it not only gives me the output but also the return status (0 here).
What should I do if I only need the output?
And also, just for curiosity, how many ways are there to call bash in Python? I'll be glad if somebody can give me some references of how to use them, I've found only os.system() and os.popen() so far.
解决方案
Actually, result is only the return status as an integer. The thing you're calling writes to stdout, which it inherits from your program, so you're seeing it printed out immediately. It's never available to your program.
Check out the subprocess module docs for more info:
Including capturing output, and invoking shells in different ways.