mon code python est entrelacée avec beaucoup d'appels de fonction utilisés pour (débogage | profilage | traçage etc.) par exemple:python équivalent de « #define func() » ou comment commenter un appel de fonction en python
import logging
logging.root.setLevel(logging.DEBUG)
logging.debug('hello')
j = 0
for i in range(10):
j += i
logging.debug('i %d j %d' % (i,j))
print(j)
logging.debug('bye')
Je veux # définir ces fonctions consommatrices de ressources à partir du code. quelque chose comme l'équivalent c
#define logging.debug(val)
oui, je sais que le mécanisme de niveau de journalisation du module d'enregistrement peut être utilisé pour masquer les mémorisations ci-dessous détaillent le niveau de journalisation. mais im demander d'une manière générale d'avoir les fonctions de saut d'interpréteur Python (qui prennent le temps de courir, même si elles ne faites pas beaucoup)
une idée est de redéfinir les fonctions que je veux commenter en fonctions vides:
def lazy(*args): pass
logging.debug = lazy
l'idée ci-dessus appelle encore une fonction, et peut créer une myriade d'autres problèmes
Cela fonctionne de la même manière dans Python 3. – Brian
préfixe si 0: | si __debug__: | si variable: + optimisation, que ce soit par un script ou un bon éditeur peut être la meilleure idée (mieux que le préfixe # qui ne gère pas les instructions multi-lignes).peut-être python n'est pas parfait après tout –
@Dave: un joli virus python injecterait la ligne 'False, True = True, False' dans le code. des choses merveilleuses peuvent arriver –