10

如果我处于调试模式,我想做其他事情,而不是我不在的时候。

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__变量。

4

2 回答 2

14

您可以python -O__debug__变量一起使用

其中-O意味着优化。所以__debug__是假的

-d打开解析器的调试,这不是你想要的

于 2009-10-20T09:08:05.970 回答
7

解析器调试模式通过-d命令行选项或 PYTHONDEBUG 环境变量启用,从 python 2.6 开始反映在sys.flags.debug. 但是你确定这就是你要找的吗?

于 2009-10-20T09:19:37.910 回答