我在一个游戏引擎中运行Python 2.4,我想在需要时关闭所有的打印输出。例如,我希望在调试构建中启用打印,然后在发布构建中关闭打印。并且它必须尽可能地透明。
在引擎的C代码中,我的解决方案是将printf函数放置在vararg宏内,并在发布构建中将其定义为什么都不做。
这是我的当前解决方案:
在引擎的C代码中,我的解决方案是将printf函数放置在vararg宏内,并在发布构建中将其定义为什么都不做。
这是我的当前解决方案:
DebugPrints = True
def PRINT (*args):
global DebugPrints
if DebugPrints:
string = ""
for arg in args:
string += " " + str(arg)
print string
它可以轻松切换打印输出,但是可能有更好的方法来格式化字符串。我的主要问题是这实际上向程序添加了更多的函数调用。
我想知道是否有任何方法可以修改打印关键字的工作方式?
print " ".join(args)
代替 for 循环。 - Daren Thomas