0

我打印出 (mxn) 值表进行调试,但是,我不希望在非调试模式下打印出调试消息。在 C 语言中,可以在代码中使用“#ifdef _DEBUG”来完成,并在预处理器定义中定义 _DEBUG。我可以知道Python中的等效方式是什么吗?

4

3 回答 3

3

Python 有一个名为“logging”的模块 看到这个问题: Using print statements only to debug

或基础教程: http ://docs.python.org/2/howto/logging.html

于 2013-06-26T04:15:31.433 回答
0

如果这是你想要的,你可以在某个地方定义一个全局变量。但是,可能更清洁和更标准的方法是读取配置文件(很容易,因为您可以用纯 Python 编写配置文件)并在其中定义 DEBUG。所以你有一个如下所示的配置文件:

# program.cfg
# Other comments
# And maybe other configuration settings
DEBUG = True # Or False

然后在您的代码中,您可以使用import您的配置文件(如果它位于 Python 路径上的目录中并且具有 Python 扩展名),或者您可以execfile使用它。

cfg = {}
execfile('program.cfg', cfg) # Execute the config file in the new "cfg" namespace.
print cfg.get('DEBUG') # Access configuration settings like this.
于 2013-06-26T04:14:13.443 回答
0

尝试这个:

import settings
if settings.DEBUG:
    print testval

当且仅当在 settings.py 中 DEBUG=True 时才会打印 testval

于 2013-06-26T04:15:28.560 回答