I don't quite understand what you are saying here:
2 * 256 is 512,
2 ** 256 is some extremely large number.
2**12 is 4096.
So how does 3072 factor into this?
Could you explain what you mean by "the error in the top half of a
sixteen-bit value"?
This makes no sense to me at this moment.
-h
Hari Sekhon
Steve Holden wrote:
Hari Sekhon wrote:
I'm running a command like
import commands
result = commands.getstatusoutput('somecommand')
print result[0]
3072
However, this exit code made no sense so I ran it manually from the
command line in bash on my linux server and it gives the exit code as
12, not this weird 3072 number.
So I tried os.system('somecommand') in the interactive python shell and
it too returned the same result for the exit code as the unix shell, 12,
but re-running the commands.getstatusoutput() with the exact same
command still gave 3072.
Is commands.getstatusoutput() broken or something?
-h
No, it's just returning the error code in the top half of a sixteen-bit
value. You will notice that 3072 == 2 * 256.
That's always been the way the Unix return code has been returned
programattically, but the shell shifts it down to make it more usab;e.
regards
Steve
|
--
http://mail.python.org/mailman/listinfo/python-list