J'ai une longue fonction et je voulais savoir s'il existe un moyen d'imprimer une notification après que chaque étape de la fonction soit exécutée avec succès. Voici un exemple de ce à quoi ressemble la fonction -
"Performing step 1..." "Error in step2! Check step 2"
lorsque l'appel exécutez la fonction et passez une trame de données, la sortie sera -
"Performing step 1..." "Performing step 2..." "Performing step 3..." output
Cependant, disons que je lance la fonction et qu'il y a une erreur à l'étape 2, la sortie serait -
def multiple_regression(df): #Step 1 some code some code #Step 2 some code some code #Step 3 some code return output
J'espère que ma question a un sens.
4 Réponses :
En gros, ajoutez print("NOTIFICATION")
après le code.
Utilisez try..catch
??
try: some code except: print("MAN Test failed")
Pour les tests unitaires, ce sont les bases. utiliser le module unittest
et assert
déclarations docs
Vous pouvez simplement ajouter des instructions d'impression sous vos lignes de code. Vous voyez donc quelle étape comporte une erreur.
#code print('step1') #code print('step2') #code print('step3') #code print('step4')
Vous pouvez imprimer après chaque ligne de code si vous le souhaitez.
Vous pouvez essayer d'encapsuler chaque partie du code dans votre fonction avec une instruction try
- except
comme ceci:
try: #code step 1 print('success') #or any other type of notification you want except theErrorYouwantToCatch: print('error') #or any other error message you want
et répétez ce processus pour toutes les "étapes" de code dont vous souhaitez être informé.
vous pouvez utiliser des instructions try except avec des impressions pour donner la sortie souhaitée bien que je ne le recommande pas car ce n'est pas son but et créerait un code impur. c'est plutôt inutile puisque le retraçage donne l'emplacement exact de l'erreur. vous voilà.
def multiple_regression(df): #Step 1 try: print('Performing step 1') some code some code except Exception as e: print(e) raise Exception('Error in step 1') #Step 2 try: print('Performing step 2') some code some code except Exception as e: print(e) raise Exception('Error in step 2') #Step 3 try: print('Performing step 3') some code some code except Exception as e: print(e) raise Exception('Error in step 3') return output
En tant que détail indépendant, je vous suggère d'envelopper chaque étape dans sa propre fonction.
Et donnez un nom significatif à chaque étape