Estoy ejecutando Python 2.4 en un motor de juego y quiero poder apagar todas las copias si es necesario. Por ejemplo, me gustaría tener las impresiones activadas para una compilación de depuración y luego desactivarlas para una versión de lanzamiento. También es imprescindible que sea lo más transparente posible.¿Cuál es la mejor manera de alternar impresiones de pitón?
Mi solución para esto en el código C del motor es tener la función printf
dentro de una macro vararg
, y definir eso para no hacer nada en una compilación de lanzamiento.
Ésta es mi solución actual:
DebugPrints = True
def PRINT (*args):
global DebugPrints
if DebugPrints:
string = ""
for arg in args:
string += " " + str(arg)
print string
Se hace fácil para cambiar impresiones, pero no es posible una mejor manera de formato a la cadena. Mi problema principal es que esto realmente agrega muchas más llamadas de función al programa.
Me pregunto si hay algo que pueda hacer sobre cómo funciona la palabra clave de impresión.
en lugar del bucle, se puede usar 'impresión "" .join (args)' –
Uy, que debería haber sido "impresión" .join (mapa (str, args)) –
Aún utilizando 2.4? –