Sto eseguendo Python 2.4 in un motore di gioco e voglio essere in grado di spegnere tutte le stampe, se necessario. Per esempio mi piacerebbe avere le stampe su per una build di debug, e quindi disattivato per una build di rilascio. È anche imperativo che sia il più trasparente possibile.Qual è il modo migliore per attivare le stampe Python?
La mia soluzione a questo nel codice C del motore è la funzione printf
all'interno di una macro vararg
e la definizione di non fare nulla in una versione di rilascio.
Questa è la mia soluzione attuale:
DebugPrints = True
def PRINT (*args):
global DebugPrints
if DebugPrints:
string = ""
for arg in args:
string += " " + str(arg)
print string
Lo rende facile per alternare stampe, ma c'è forse un modo migliore per formattare la stringa. Il mio problema principale è che questo è in realtà l'aggiunta di molte più chiamate di funzione al programma.
Mi chiedo se c'è qualcosa che puoi fare su come funziona la parola chiave di stampa?
invece del ciclo for, è possibile utilizzare 'stampa "" .join (args)' –
oops, che avrebbe dovuto essere di stampa "" .join (mappa (str, args)) –
Sempre con 2.4? –