¿Cómo compruebo si la opción de depuración de Python está configurada desde un script?

Si estoy en modo de depuración, quiero hacer otras cosas que cuando no lo estoy.

if DEBUG: STORED_DATA_FILE = os.path.join(TEMP_DIR, 'store.dat') LOG_LEVEL = logging.DEBUG print "debug mode" else: STORED_DATA_FILE = os.path.join(SCRIPT_PATH, 'store.dat') LOG_LEVEL = logging.INFO print "not debug mode" 

entonces:

 python script.py not debug mode python -d script.py debug mode 

¿Cómo puedo detectar eso? Ciertamente no está usando la variable __debug__ .

El modo de depuración del analizador se habilita con la opción de línea de comando -d o la variable de entorno PYTHONDEBUG y el inicio desde python 2.6 se refleja en sys.flags.debug . ¿Pero estás seguro de que esto es lo que estás buscando?

puedes usar python -O con la variable __debug__

donde -O significa optimizar. entonces __debug__ es falso

-d activa la depuración del analizador, que no es lo que desea