IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Message d'erreur : UnboundLocalError: local variable 'valErreur' referenced before assignment


Sujet :

Python

  1. #1
    R�dacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 433
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activit� : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 433
    Billets dans le blog
    11
    Par d�faut Message d'erreur : UnboundLocalError: local variable 'valErreur' referenced before assignment
    Bonjour,

    J'essaie d'utiliser dans une gestion des exceptions (try...except). En mettant la commande :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    valErreur = valErreur + str(row['Ref'])
    Mais quand je mets cette commande dans "except", j'obtiens le message suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    UnboundLocalError: local variable 'valErreur' referenced before assignment
    Voyez-vous pourquoi cela ne fonctionne pas ?

    J'ai beau essay� diff�rentes commandes, cela ne change rien :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    global valErreur
    nonlocal valErreur
    Cdlt.

  2. #2
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 770
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 770
    Par d�faut
    Salut,

    Si on �crit A = A + 1, �� r�cup�re la variable A pour lui ajouter 1 et on assigne le r�sultat � la variable A.
    R�cup�rer A suppose qu'on ait assign� quelque chose � A "avant" et un message qui varie de NameError � UnboundLocalError suivant qu'on �crive cela dans une fonction ou � l'ext�rieur.
    Et la port�e des variables n'a rien � voir avec la gestion des exceptions.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    R�dacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 433
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activit� : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 433
    Billets dans le blog
    11
    Par d�faut
    Dans mon cas, j'ai mis au d�but :
    Ensuite dans except, j'ai mis :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    valErreur = valErreur + str(row['Ref'])
    Mais cela me met erreur, mais si je fais un :
    Cela fonctionne.

    Donc comment faire pour concat�ner les donn�es dans valErreur pour les r�cup�rer � la fin dans un print.

    Cdlt.

  4. #4
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 770
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 770
    Par d�faut
    Si vous ne postez pas un minimum de code qui montre le contexte dans lequel appara�t l'erreur et que vous ne mentionnez pas l'erreur... on va tourner en rond.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    R�dacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 433
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activit� : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 433
    Billets dans le blog
    11
    Par d�faut
    Donc voici une partie de mon code, et c'est la ligne rouge qui ne fonctionne pas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    dict_nom_champs = {'REF': "Ref",
                        'DT': "DTVal"}
    
    global cmptErreur
    
    def actions_appliquees_a_chaque_ligne(row):
        app.log(logging.INFO, "R�f�rence : " + row['Ref'])
        app.browser.find_element(By.NAME, "internalRef").clear()
        app.browser.find_element(By.NAME, "internalRef").send_keys(row['Ref'])
        try:
            app.browser.find_element(By.NAME, "validate").click()
            app.wait_for_page_load(timeout=300)
            ValDonnee = app.browser.find_element(By.NAME, 'comercializationDate').get_attribute('value')
            if ValDonnee is not None:
                app.browser.find_element(By.NAME, "comercializationDate").clear()
            app.browser.find_element(By.NAME, "comercializationDate").send_keys(row['DTVal'])
            app.action_page({}, "Enregistrer les modifications")
            app.wait_for_page_load(timeout=300)
        except:
            valErreur = valErreur + str(row['Ref'])
    Mais si je mets cela fonctionne :

  6. #6
    R�dacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 433
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activit� : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 433
    Billets dans le blog
    11
    Par d�faut
    Il suffisait juste de mettre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    def actions_appliquees_a_chaque_ligne(row):
        global valErreur

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 27/11/2020, 16h58
  2. R�ponses: 3
    Dernier message: 06/03/2019, 01h58
  3. R�ponses: 2
    Dernier message: 29/12/2015, 17h46
  4. UnboundLocalError: local variable 'k_dest' referenced before assignment
    Par billyrose dans le forum G�n�ral Python
    R�ponses: 6
    Dernier message: 10/08/2008, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo