0
votes

Comment imprimer une notification après avoir exécuté une ligne dans une fonction en Python

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.


2 commentaires

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


4 Réponses :


2
votes

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


0 commentaires

0
votes

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.


0 commentaires

0
votes

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é.


0 commentaires

0
votes

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


0 commentaires