Bryan Irvine wrote:
I'm a python n00b and so pardon me in advance if this is really stupid
question.
I have my suspicions but why does the following not work the way I'm
anticipating it will?
(python 2.4.4)
import os
if (os.system('echo test')):
... print 'success'
... else:
... print 'failed'
...
test
failed
if (os.system('echosadf test')):
... print 'success'
... else:
... print 'failed'
...
sh: echosadf: command not found
success
If I had to guess (which I am, since I'm not looking at the docs), I
would say that os.system returns the exit code of whatever it ran, and
since the exit code on success is almost always 0, and since 0 means
False in Python, you get 'failed' the first time around; likewise, a
non-zero exit code usually indicates a problem of some sort, and
non-zero is True in Python, hence the 'success' the second time around.
I wonder how the docs phrase it?
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list