cascading python executions only if return code is 0

Roy Smith roy at
Sun Dec 22 20:17:53 CET 2013

In article <mailman.4500.1387739297.18130.python-list at>,
 Frank Cui <ycui at> wrote:

> hey guys,
> I have a requirement where I need to sequentially execute a bunch of 
> executions, each execution has a return code. the followed executions should 
> only be executed if the return code is 0. is there a cleaner or more pythonic 
> way to do this other than the following ? 
> if a() == 0:    if b() == 0:        c()
> Thanks for your input.
> frank 		 	   		  

Yup!  Just do:

a() or b() or c()

The "or" operation has what's known as "short-circuit" semantics.  That 
means, if the first operand is true, it doesn't evaluate the second 
operand.  Just make sure that a(), b(), and c() all return something 
which is true if they succeed and false otherwise.

More information about the Python-list mailing list