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 :

[Python 2.x]Try - expect qui ne fonctionne pas


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut [Python 2.x]Try - expect qui ne fonctionne pas
    Bonsoir,

    j'ai écris un petit bout de code et je ne comprends pas ce qui ne fonctionne pas (d'après les exemples que j'ai vu sur le net)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    def Click_Rq_Save():
    	try:
    		SaveRq = open("Requete.txt", "a")
    	except ValueError:
    		Rq.insert(INSERT, "Champs requête vide")
    	Date = time.strftime('%d/%m/%y %H:%M', time.localtime())
    	if len(Rq.get("1.0", END)) != 1:
    		SaveRq.write(Date +'\n' + Rq.get("1.0", END) + '\n')
            else:
        	Rq.insert(INSERT, "Requête Non-Enregistrée : Champs requête vide")
            SaveRq.close()
    Il me parle d'erreur d'indentation ?

    L'indentation dans les balises code ne sera peut être pas assez précise voila ce que je voisNom : Error.png
Affichages : 87
Taille : 13,2 Ko

    Cordialement,

    Unic0

  2. #2
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    Salut à toi,

    Si c'est une erreur d'indentation, c'est que tu as mal fait ta tabulation et ou tes espaces.

    Tu as mis:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def Click_Rq_Save():
    	try:
    		SaveRq = open("Requete.txt", "a")
    	except ValueError:
    		Rq.insert(INSERT, "Champs requête vide")
    	Date = time.strftime('%d/%m/%y %H:%M', time.localtime())
    	if len(Rq.get("1.0", END)) != 1:
    		SaveRq.write(Date +'\n' + Rq.get("1.0", END) + '\n')
        else:
        	Rq.insert(INSERT, "Requête Non-Enregistrée : Champs requête vide")
        SaveRq.close()

    Si tu regardes bien tu as pas les mêmes nombres de tabulation ou de touche espace.

    Correction:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def Click_Rq_Save():
        try:
            SaveRq = open("Requete.txt", "a")
        except ValueError:
            Rq.insert(INSERT, "Champs requête vide")
            Date = time.strftime('%d/%m/%y %H:%M', time.localtime())
     
        if len(Rq.get("1.0", END)) != 1:
            SaveRq.write(Date +'\n' + Rq.get("1.0", END) + '\n')
        else:
            Rq.insert(INSERT, "Requête Non-Enregistrée : Champs requête vide")
        SaveRq.close()

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Je m'en suis aperçu ! ^^ Je viens de rajouter une photo ... :/

    EDIT : je viens de refaire toutes les tabulations et maintenant ça se propage sur une autre fonction plus loin :

    Nom : Error_2.png
Affichages : 85
Taille : 18,4 Ko

  4. #4
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    je pense que le soucis vient de ton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date = time.strftime('%d/%m/%y %H:%M', time.localtime())

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Merci beaucoup,

    Effectivement en reprenant ton code ça fonctionne, mais comment on peut vérifier 'facilement' ces erreurs la ?

  6. #6
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    Bah pour ma part j'utilises un idle, ça t'encadre en rose tes erreurs et te balance une fenêtre d'erreur mais ça le fait pas pour toutes les erreurs.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Cela dit ça ne marche toujours pas et je ne comprends pas : est-ce que j'ai la bonne erreur ? :

    Nom : Error_3.png
Affichages : 121
Taille : 41,5 Ko

  8. #8
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    Là Maintenant tu as un soucis d'encodage.
    Les erreurs se voient sur les dernières ligne du rapport d'erreur.
    ton erreur veut tout simplement dire, qu'il faut que tu changes ton coding et là tu dois être en unicode.
    Après je débute en python donc à part mettre en haut de ta page un # -*- coding: utf8 -*-
    j'ai bien peur de ne pas pouvoir t'aider et qu'il va falloir que t'attendes le matin pour qu'un pro ou un modo puissent t'aider ^^"

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    J'essayé de mettre une autre exception telle que 'exception' elle-même (permettant de ce que j'ai compris de récupérer n'importe quelle exception) mais ça ne marche pas non plus...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    def Click_Rq_Save():
        try:
            SaveRq = open("Requete.txt", "a")
        except Exception:
            Rq.insert(INSERT, "Champs requête vide")
        Date = time.strftime('%d/%m/%y %H:%M', time.localtime())
        if len(Rq.get("1.0", END)) != 1:
            SaveRq.write(Date + '\n' + Rq.get("1.0", END) + '\n')
        else:
            Rq.insert(INSERT, "Requête Non-Enregistrée : Champs requête vide")
        SaveRq.close()
    Je récupère malgré tout le message d'erreur ... :/

  10. #10
    Membre régulier
    Homme Profil pro
    employé
    Inscrit en
    Mars 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : employé

    Informations forums :
    Inscription : Mars 2015
    Messages : 75
    Points : 103
    Points
    103
    Par défaut
    tu ne devrais pas plutôt mettre une exception en rapport à ton try: ?

    par exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    fichier = input("Saisissez un fichier à ouvrir: ")
    try:
        f = open(fichier, "r")
        f.read(10)
        f.close()
    except IOError:
        print("Erreur lors de l'ouverture du fichier")

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Bon, je viens de comprendre... j'essayer de récupérer une erreur où il n'y avait pas (et il n'y en aurait, théoriquement, jamais eu... -_-') donc c'est pour ça que ça marchait pas. Je mets le bout de code que j'ai désormais si j'avais ça peut servir à quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def Click_Rq_Save():
        SaveRq = open("Requete.txt", "a")
        Date = time.strftime('%d/%m/%y %H:%M', time.localtime())
        if len(Rq.get("1.0", END)) != 1:
            try:
                SaveRq.write(Date + '\n' + Rq.get("1.0", END) + '\n')
            except UnicodeEncodeError:
                Label_Error_Txt.set("Requête enregistrée : Champs requête vide")
                Rq.delete("1.0", END)
        SaveRq.close()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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