Как проверить, установлена ​​ли опция отладки python из скрипта?

Если я нахожусь в режиме отладки, я хочу делать другие вещи, чем когда я не.

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"

затем:

python script.py
not debug mode

python -d script.py
debug mode

Как я могу это обнаружить? Это, конечно, не использует __debug__ переменная.

2 ответа

Решение

Режим отладки парсера включается с -d опция командной строки или переменная окружения PYTHONDEBUG, начиная с python 2.6, отражена в sys.flags.debug, Но вы уверены, что это то, что вы ищете?

Ты можешь использовать python -O с __debug__ переменная

где -O значит оптимизировать. так __debug__ ложно

-d включает отладку для парсера, а это не то, что вам нужно

Другие вопросы по тегам