From Python Subprocess Doc :
Popen.returncode
The child return code, set by poll() and wait() (and indirectly by communicate()). A None value indicates that the process hasn’t terminated yet. A negative value -N indicates that the child was terminated by signal N (Unix only).
So you can check exit status using :
proc.returncode
but it's bit ironic thing is zero 0 means False in Python.
Example :
if (var == False) :
# this will execute if var is False or 0 (or 0.0, 0L, 0j)