La solution populaire pour le profilage de ligne Python semble être kernprof -l script.py
, ce qui nécessite l'ajout de décorateurs "@profile" aux fonctions que vous voulez profiler. Exécuter le même code sans python script.py
va se plaindre "nom de profil 'non défini", donc vous devez commenter @profile
lignes. Quelle est une bonne solution pour basculer entre les modes «profil» et non-profil sans avoir à commenter ces lignes?commentateur @profile decorators lors du profilage de ligne
1
A
Répondre
2
Vous pouvez essayer d'ajouter quelque chose comme ça en haut de votre script:
try:
profile # throws an exception when profile isn't defined
except NameError:
profile = lambda x: x # if it's not defined simply ignore the decorator.
De cette façon, vous définissez la fonction profile
comme décorateur no-op si elle n'est pas défini.