2015-09-09 72 views
0

我有10或15个非常有用的调试print声明洒在我的程序中(在不同的功能和main)。在Python中打开/关闭打印语句的有效方法?

虽然我并不总是希望或需要日志文件。我有一个配置文件,我可以添加一个参数来打开或关闭打印语句。但是,接下来,我必须在每个打印语句上添加一个警戒检查,以查看此参数的值。

有什么更好的方法?

+1

我敢肯定,这已被问过,得到的答案是使用日志模块,它被关闭之前,我会删除此。 –

+0

@AaronHall公平点,谢谢。 taesu提供了一个不错的选择。 – Pyderman

回答

6
from __future__ import print_function 
enable_print = 0 

def print(*args, **kwargs): 
    if enable_print: 
     return __builtins__.print(*args, **kwargs) 

print('foo') # doesn't get printed 
enable_print = 1 
print('bar') # gets printed 

可悲的是,你不能保持PY2打印语法print 'foo'

+0

很好,谢谢。 – Pyderman

+0

如果'print'函数不是全局的并且没有被作为参数传递,'print'函数如何知道'enable_print'? – Pyderman