sure it returns the output of the command, and also any errors that bash produces. If the command used does not usually give output, it will still return the exit status of the command. for example
>>> os.system('mkdir newdirectory')
0
so you can test for a succesful execution of the command like this
>>> return_value = os.system('mkdir newdirectory')
>>> if return_value == 0:
... print "it executed without errors"
...
it executed without errors
here is something you need to watch out for. an exit stauts of a command execution of other then 0, will be changed using python. So you need to use this module os.WEXITSTATUS
for example. if using the grep command on a linux system, and the value is not found, it will return an exit status of 1. Using this with the os.system module with python will change it. here is an example
>>> os.system('cat grepfile | grep "non-existant string"')
256
it should be giving a return value of 1(not 256), since the string was not found. that can be corrected using os.WEXITSTATUS
>>> os.WEXITSTATUS(os.system('cat grepfile | grep "non-existant string"'))
1