Python - 在非调试模式下隐藏调试消息

时间:2013-06-26 04:07:01

标签: python python-2.7

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分: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.

答案 2 :(得分:0)

试试这个:

import settings
if settings.DEBUG:
    print testval

当且仅当settings.py

中的DEBUG = True时,才打印testval