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

Python-在非调试模式下隐藏调试消息,python,python-2.7,Python,Python 2.7,我打印(m x n)值表以进行调试,但是,我不希望在非调试模式下打印调试消息。在C语言中,可以在代码中使用“#ifdef_DEBUG”,在预处理器定义中使用define_DEBUG。我可以知道Python中的等效方式是什么吗 如果需要,可以在某个地方定义一个全局变量。但是,可能更干净、更标准的方法是读取配置文件(很容易,因为您可以用普通Python编写配置文件)并在其中定义调试。因此,您有一个如下所示的配置文件: # program.cfg # Other comments # And mayb

我打印(m x n)值表以进行调试,但是,我不希望在非调试模式下打印调试消息。在C语言中,可以在代码中使用“#ifdef_DEBUG”,在预处理器定义中使用define_DEBUG。我可以知道Python中的等效方式是什么吗

如果需要,可以在某个地方定义一个全局变量。但是,可能更干净、更标准的方法是读取配置文件(很容易,因为您可以用普通Python编写配置文件)并在其中定义调试。因此,您有一个如下所示的配置文件:

# program.cfg
# Other comments
# And maybe other configuration settings
DEBUG = True # Or False
然后在代码中,您可以导入配置文件(如果它位于Python路径上的目录中,并且具有Python扩展名),或者可以导入它

cfg = {}
execfile('program.cfg', cfg) # Execute the config file in the new "cfg" namespace.
print cfg.get('DEBUG') # Access configuration settings like this.

如果你想要的话,你可以在某个地方定义一个全局变量。但是,可能更干净、更标准的方法是读取配置文件(很容易,因为您可以用普通Python编写配置文件)并在其中定义调试。因此,您有一个如下所示的配置文件:

# program.cfg
# Other comments
# And maybe other configuration settings
DEBUG = True # Or False
然后在代码中,您可以导入配置文件(如果它位于Python路径上的目录中,并且具有Python扩展名),或者可以导入它

cfg = {}
execfile('program.cfg', cfg) # Execute the config file in the new "cfg" namespace.
print cfg.get('DEBUG') # Access configuration settings like this.
试试这个:

import settings
if settings.DEBUG:
    print testval
当且仅当settings.py中的DEBUG=True时,这会打印testval。请尝试以下操作:

import settings
if settings.DEBUG:
    print testval
当且仅当settings.py中的DEBUG=True时,Python有一个名为“logging”的模块,这将打印testval 见这个问题:

或基础教程:

Python有一个名为“日志”的模块 见这个问题:

或基础教程: