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 :

AttributeError: 'module' object has no attribute 'exc_info'


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut AttributeError: 'module' object has no attribute 'exc_info'
    Je suis en train de m'habituer au Python après 40 ans de Pascal et j'ai un petit soucis avec le code suivant ci-dessous.
    En pratique le fichier Orders est un simple fichier texte, il a été créé et accessible, il contient une info texte, mais Python refuse de l'ouvrir et me donne le message d'erreur.
    Quid?

    import os
    import traceback

    FichierOrders = 'c:/temp/Orders.rob'def getorder():



    def getorder():
    try:
    f=open(FichierOrders, 'r')
    data=f.read()
    except Exception:
    data='erreur.'
    traceback.print_exc()
    return(data)


  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Citation Envoyé par hlmhv Voir le message
    et j'ai un petit soucis avec le code suivant ci-dessous.
    Nous aussi au vu de tes efforts "artistiques". C'est super pratique pour copier/coller/tester le code!!!

    Citation Envoyé par hlmhv Voir le message
    mais Python refuse de l'ouvrir et me donne le message d'erreur.
    Oh? Il veut pas l'ouvrir! Il est méchant Python!!! Et t'as pas pensé à lui demander pourquoi??? Cela aurait été pourtant plus adéquat que de venir nous le demander à nous qui ne sommes même pas sur ta machine...

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    except Exception as e:
    	print(e)

    Citation Envoyé par hlmhv Voir le message
    après 40 ans de Pascal
    Et pendant tes 40 ans de Pascal tu ne fermais pas tes fichiers ouverts ou bien tu es négligent juste parce que ce n'est pas du Pascal?
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par Sve@r Voir le message


    Oh? Il veut pas l'ouvrir! Il est méchant Python!!! Et t'as pas pensé à lui demander pourquoi??? Cela aurait été pourtant plus adéquat que de venir nous le demander à nous qui ne sommes même pas sur ta machine...

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    except Exception as e:
        print(e)
    Eh! j'ai donné le code en intitulé!

    Et je ne vois vraiment pas pourquoi donner le code compet pourrait aider en quoi que ce soit..
    Maintenant si cela convient à Votre Seigneurie voici ce que votre précieux conseil donne comme résultat: [Errno 2] ENOENT

    J'interprète cela comme une impossibilité d'ouvrir le fichier Orders.rob, c'est juste?

    Citation Envoyé par Sve@r Voir le message
    Et pendant tes 40 ans de Pascal tu ne fermais pas tes fichiers ouverts ou bien tu es négligent juste parce que ce n'est pas du Pascal?
    Remarque désobligeante indigne d'un pilier de Developpez.com si tu veux mon avis.
    Maintenant le fait de fermer le fichier ne change absolument rien, et de toute façon à la PREMIERE itération je devrais tout de même obtenir la lecture de celui-ci..
    J'ajoute que le Python, pour intéressant qu'il soit, me semble plus un genre de Basic survitaminé qu'autre chose, alors avant de se moquer du Pascal faudrait voir à se demander pourquoi le Python est interprété sinon parce qu'il permet de coder avec ces gants de boxe?

    Donc où en étions-nous? Ah oui, "tu ne fermais pas tes fichiers ouverts" ..

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    J'interprète cela comme une impossibilité d'ouvrir le fichier Orders.rob, c'est juste?
    ça doit dire aussi "No such file or directory:" en donnant le nom du fichier qu'il a essayé d'ouvrir.
    Et pour le coup, comme on ne se déplacera pas chez vous pour regarder où vous avez foutu ce fichier... d'autant que si on avait autant de soucis à ouvrir un fichier avec Python ça se saurait (et vous n’essayeriez même pas de coder avec...)

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

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 539
    Par défaut
    sans le try ..except, si il y a une erreur, elle sera aussi afficher. Et avoir le message d'erreur complet, ça donne beaucoup d'information (ligne de l'erreur, type d'erreur, etc)
    Dans le code que tu nous as donné, tu as 2 fois "def getorder():" , pas normal si c'est dans le vrai code.
    En python, les blocs de code sont définis par les indentations, dans le code que tu nous fournit, il n'y en a pas, donc on ne sais pas comment tu écris ton script.
    Comment tu appelles ton script ou/et ta fonction ? en invite de commande? de quel façon? code testé dans l'interpréteur python ?

  6. #6
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ça doit dire aussi "No such file or directory:" en donnant le nom du fichier qu'il a essayé d'ouvrir.
    Et pour le coup, comme on ne se déplacera pas chez vous pour regarder où vous avez foutu ce fichier... d'autant que si on avait autant de soucis à ouvrir un fichier avec Python ça se saurait (et vous n’essayeriez même pas de coder avec...)

    - W
    Manque de bol: le fichier et son répertoire existent bel et bien, ils ont tous deux été créés sous.. Lazarus! L'intitulé du fichier est strictement le même sous Pascal que sous Python, c'est du reste un copier/coller..

    Je ne pose pas une question de né de la dernière pluie: je SAIS qu'un fichier doit exister pour être lu. Je suis nouveau en Python, mais sachez que j'utilise professionnellement un logiciel réalisé en 1995 avec toutes ses améliorations, deux ans p
    plus tôt j'ai réalisé un logiciel - toujours professionnel - en déployant une BD complète dont le mode de fonctionnement a été réalisé par votre serviteur et un bête fichier texte ne me fait pas peur..

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 539
    Par défaut
    bon!
    Back to basics!
    Que donne le code suivant simple et de base:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FichierOrders = 'c:/temp/Orders.rob'
    f=open(FichierOrders, 'r')
    data=f.read()
    f.close()
    print(data)
    ça affiche le contenu ou une erreur, et si erreur, on veut le code complet de l'erreur.

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    On te donne pourtant (sans doute) la raison ... je réitère d'une autre manière (moins directe, mais puisque tu ne comprends pas)
    Citation Envoyé par hlmhv Voir le message
    L'intitulé du fichier est strictement le même sous Pascal que sous Python, c'est du reste un copier/coller..
    peut-être que ton code pascal est justement codé avec un gant de boxe ?

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Eh! j'ai donné le code en intitulé!
    Oui, un code khafi de mise en formes colorées en tout genre. Or pouvoir copier un code d'un intervenant pour le coller chez-soi est assez pratique pour tester. Mais si on doit au préalable le purger de son maquillage...

    Citation Envoyé par hlmhv Voir le message
    Et je ne vois vraiment pas pourquoi donner le code compet pourrait aider en quoi que ce soit..
    Bah, déjà ça permet de voir si tu as respecté l'indentation (au cas où tu ne le saurais pas, contrairement au Pascal qui utilise des mots clefs begin/end pour identifier ses blocs, Python lui utilise les tabulations) et quelques autres détails utiles. Et puis il n'y a pas à discuter là dessus. On vient sur un forum demander de l'aide parce qu'on a un souci avec un code, le minimum de la politesse c'est de poster ledit code, même si c'est inutile. Mais quand je vois cette première ligne FichierOrders = 'c:/temp/Orders.rob'def getorder(): qui amalgame en une ligne une affectation de variable et une définition de fonction ; je ne suis pas certain que poster ton code était vraiment inutile. Mais bon, visiblement tu sais mieux que moi ce qui est utile de ce qui ne l'est pas...

    Citation Envoyé par hlmhv Voir le message
    Maintenant si cela convient à Votre Seigneurie voici ce que votre précieux conseil donne comme résultat: [Errno 2] ENOENT
    Ben voilà. ENOENT=Error NO ENTry=Fichier non trouvé. Et c'est dans tous les moteurs de recherche

    Citation Envoyé par hlmhv Voir le message
    J'interprète cela comme une impossibilité d'ouvrir le fichier Orders.rob, c'est juste?
    Ben oui impossibilité d'ouvrir le fichier. Python te l'avait déjà dit d'ailleurs qu'il n'arrivait pas à ouvrir le fichier. L'important c'était surtout de trouver pourquoi.

    Citation Envoyé par hlmhv Voir le message
    Maintenant le fait de fermer le fichier ne change absolument rien, et de toute façon à la PREMIERE itération je devrais tout de même obtenir la lecture de celui-ci..
    C'est une question de principe, de bonnes habitudes à prendre. Un peu comme celui qui sort d'une pièce sans l'éteindre.

    Citation Envoyé par hlmhv Voir le message
    J'ajoute que le Python, pour intéressant qu'il soit, me semble plus un genre de Basic survitaminé qu'autre chose
    Chacun son avis.

    Citation Envoyé par hlmhv Voir le message
    alors avant de se moquer du Pascal
    Je te mets au défi de trouver un seul écrit dans ce post, ou dans n'importe quel de mes autres, où je me moque du Pascal. Je me moque plutôt de ta vantardise (40 ans de Pascal), mais pas du Pascal lui-même.

    Citation Envoyé par hlmhv Voir le message
    faudrait voir à se demander pourquoi le Python est interprété sinon parce qu'il permet de coder avec ces gants de boxe?
    Argument fallacieux (ou alors tu m'expliqueras le rapport entre "interprété" et "gants de boxes" ). Visiblement tu aimes les sophismes.

    Citation Envoyé par hlmhv Voir le message
    Donc où en étions-nous? Ah oui, "tu ne fermais pas tes fichiers ouverts" ..
    Ben oui, c'était ma question. Et si on supprime de ta réponse tout ce discours pompeux et inutile, il en ressort simplement que pour toi ça n'a aucune importance.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  10. #10
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Tu n'as visiblement rien compris mais .. interprété!

    40 ans de Pascal, une vantardise? Cela veut tout simplement dire, quand on a un soupçon de bienveillance, que 1) Je n'ai plus les neurones de jadis.. et 2) précisément que je sais ce qu'est un fichier ouvert et un qui ne l'est pas. Normalement c'est assez compréhensible je pense.
    Par ailleurs, avant de me railler de cette façon tu dois bien reconnaître que tu fais un pas de danse ("C'est une question de principe, de bonnes habitudes à prendre.") sans répondre à ma réaction: à savoir que dans un langage interprété l'ordi ne peut refuser de suivre une ligne de code parce que la suivante manque!!
    Enfin "
    FichierOrders = 'c:/temp/Orders.rob'def getorder():" n'est pas dû à mon code - OUI je sépare les lignes les unes des autres et OUI je fais les indentations nécessaires - mais à l'éditeur de ce forum qui semble ne pas apprécier les sauts de pages. Mais là je dois reconnaître que si je sais programmer depuis sans doute plus que toi, je ne suis pas du tout habile avec cet éditeur.

    Et si mon texte était pompeux, que dire de la suffisance de tes réponses.
    Que je ne lirai plus si jamais il en vient encore: je perds généralement mon temps quand je tombe sur des gens méprisants et malveillants.

  11. #11
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Que je ne lirai plus si jamais
    Mais en fait tu nous lis ? Sve@r et moi on te donne une piste et tu l'ignores Tu préfères nous dire et redire que tu as créé un programme au siècle dernier, il me semble que depuis tu as oublié quelques petites choses.

  12. #12
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    40 ans de Pascal, une vantardise? Cela veut tout simplement dire, quand on a un soupçon de bienveillance, que 1) Je n'ai plus les neurones de jadis.. et 2) précisément que je sais ce qu'est un fichier ouvert et un qui ne l'est pas. Normalement c'est assez compréhensible je pense.
    D'autant plus compréhensible que je ne t'ai même pas demandé quelle était cette différence.

    Citation Envoyé par hlmhv Voir le message
    Donc - et je le savais - fermer le fichier n'a RIEN à voir avec le problème.
    Tout à fait. Je n'ai jamais dit que cela avait quelque chose à voir (la preuve, j'ai mis cette remarque après celle qui parlait de demander à Python pourquoi il ne voulait pas ouvrir le fichier). Je t'ai juste demandé, à titre de curiosité, si c'était ton habitude de programmer porc ou si c'était juste parce que c'était Python.

    Citation Envoyé par hlmhv Voir le message
    Par ailleurs, avant de me railler de cette façon tu dois bien reconnaître que tu fais un pas de danse ("[COLOR=#3E3E3E]C'est une question de principe, de bonnes habitudes à prendre.") sans répondre à ma réaction: à savoir que dans un langage interprété l'ordi ne peut refuser de suivre une ligne de code parce que la suivante manque!!
    Dans un langage compilé aussi. Je n'ai jamais fait de Pascal mais ça m'étonnerait que son compilateur me dise "attention, la fonction s'arrête sans que le fichier ouvert n'ait été fermé"...

    Citation Envoyé par hlmhv Voir le message
    OUI je sépare les lignes les unes des autres et OUI je fais les indentations nécessaires
    Et bien entendu on doit le deviner

    Citation Envoyé par hlmhv Voir le message
    Mais là je dois reconnaître que si je sais programmer depuis sans doute plus que toi
    Sans doute évidemment. Tu es tellement plus que moi en tout...

    Citation Envoyé par hlmhv Voir le message
    , je ne suis pas du tout habile avec cet éditeur.
    C'est pour cela que les règles incluent une démonstration.

    Citation Envoyé par hlmhv Voir le message
    Et si mon texte était pompeux, que dire de la suffisance de tes réponses.
    Ah mais je l'adapte à mon interlocuteur et à ses "Votre Seigneurie" et autres ironies.

    Citation Envoyé par hlmhv Voir le message
    Que je ne lirai plus si jamais il en vient encore: je perds généralement mon temps quand je tombe sur des gens méprisants et malveillants.
    Encore un sophisme. Méprisant, oui, malveillant non (la preuve : je t'ai donné un truc à essayer pour trouver l'origine du souci). On verra si tu en fais ton profit et surtout si tu sauras seulement dire "merci" (à défaut d'avoir dit "bonjour" en arrivant ici)...

    Citation Envoyé par hlmhv Voir le message
    Enfin, si jamais cela pouvait servir, le code complet est le suivant:
    Et toujours sans respecter les règles indiquant comment poster un code qui devient de fait inutilisable (pourtant ce n'est pas faute de t'avoir dit qu'en Python l'indentation était primordiale). Minable jusqu'au bout hein?

    Citation Envoyé par hlmhv Voir le message
    et raillent à la place d'essayer au moins de le faire.
    En réalité c'est parce qu'on sait le faire qu'on n'a pas tenté. Mais s'il n'y a que ça pour te faire plaisir (oui je sais, c'est de la malveillance)...with open("/etc/passwd", "r") as fp: print(fp.read()) => ça marche.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  13. #13
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    alors avant de se moquer du Pascal
    Mais personne ne se moque de pascal ! mais de toi

    j'ai appris la programmation avec pascal, mais avec tous les langages suivants, j'ai conservé ce que j'ai appris (surtout avec les interprétés). Toi tu sembles montrer/dire que justement python ne mérite pas que tu codes sérieusement

    pourquoi le Python est interprété sinon parce qu'il permet de coder avec ces gants de boxe?
    Moi aussi, je vois python comme le nouveau basic, mais il n'y a rien de péjoratif là-dedans. Si tu désires coder avec des "gants de boxe", ne t'étonne pas que tu n'arrives à rien, en fait tu mets 40 ans dans la poubelle sur une mauvaise impression...

    Citation Envoyé par Sve@r Voir le message
    Oui, un code khafi de mise en formes colorées en tout genre
    il est de notoriété publique que les codeurs de langage interprétés sont des gens très basiques : Ils ne peuvent pas lire un code sans coloration syntaxique.
    Merci pour avoir rendu ce code clair



    Citation Envoyé par hlmhv Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FichierOrders = 'c:/temp/Orders.rob'
    Je ne suis pas un utilisateur windows, mais utiliser des slashs comme séparateur ne semble particulier (Avec tes 40 ans de Go, je comprends. Cette erreur est courante puisqu'il fait la conversion automatiquement en fonction de l'OS)

  14. #14
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Python refuse de l'ouvrir et me donne le message d'erreur.
    Un code qui permette de reproduire l'erreur et les lignes du message d'erreur sont le point de départ d'une démarche qui devrait commencer par une recherche sur Internet... pour aboutir à des diagnostics (à comparer) et des solutions (à tester).
    Démarche qui n'a rien de spécifique à Python.

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

  15. #15
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour

    Dans le forum pascal, tu utilises la balise CODE, mais ici ?

    et me donne le message d'erreur.
    Comme en pascal, le meilleur moyen d'avoir de l'aide, c'est de retourner sur le forum l'erreur exacte !

    ----
    traceback : pourquoi faire compliqué, tu affiches le message de l'exception ou tu peux aussi la relancer avec raise. L'exception doit justement nous dire ce qui ne va pas.
    ici, justement tu RE-déclenches une nouvelle exception avec ton module traceback (je suppose que tu avais la ligne de code dans ton script où était déclenchée l'erreur, comme en pascal, il faut bien lire les erreurs)


    -----
    f=open(), ton tuto doit dater ? depuis pas mal d'années, on va utiliser en priorité with.
    sinon, on peut utiliser dans ton cas un autre module texte = pathlib.Path('monfichier.données').read_text()

  16. #16
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Un code qui permette de reproduire l'erreur et les lignes du message d'erreur sont le point de départ d'une démarche qui devrait commencer par une recherche sur Internet... pour aboutir à des diagnostics (à comparer) et des solutions (à tester).
    Démarche qui n'a rien de spécifique à Python.

    - W
    C'est fait!

    Bon Dieu je sais que pas mal de gens ne cherchent pas eux-même et attendent qu'on leur donne la solution toute chaude en bouche, mais ce n'est pas mon cas: j'ai cherché via OpenClassRoom, StackOverflow, docs.python.org et je dois en passer un ou deux autres.
    Et je suis étonné d'un tel accueil sur ce forum. Serait-il réservé aux geeks ou aux professionnels qui n'en ont rien à faire de donner un coup de main?

    Maintenant si personne n'a trouvé, je suis déjà rassuré sur mes compétences..

  17. #17
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    j'ai cherché via OpenClassRoom, StackOverflow, docs.python.org et je dois en passer un ou deux autres.
    Et si tu avais cherché avec ta tête juste pour voir l'effet que ça fait pour une fois???

    Citation Envoyé par hlmhv Voir le message
    Et je suis étonné d'un tel accueil sur ce forum. Serait-il réservé aux geeks ou aux professionnels qui n'en ont rien à faire de donner un coup de main?
    Non, réservé aux gens polis, qui n'arrivent pas comme des matuvu avec leurs "40 ans de Pascal" qui sonne comme un "alors remerciez-moi de m'intéresser à votre langage" surtout quand ils rajoutent derrière "oui Python de toute façon ce n'est que ceci" justifiant ainsi leur mépris à peine voilé.
    C'est réservé aussi à ceux qui postent un code de façon correcte tel que décrit dans les règles et non pas avec ces couleurs de clown ; et qui ne viennent pas ensuite polémiquer pour avoir le dernier mot quand on les met face à leur responsabilités.

    Citation Envoyé par hlmhv Voir le message
    Maintenant si personne n'a trouvé, je suis déjà rassuré sur mes compétences..
    Ben si on a trouvé, et on (enfin je) te l'ai dit: ENOENT=Fichier non trouvé. Mais effectivement on a aussi maintenant une assez bonne idée de tes compétences.

    Citation Envoyé par hlmhv Voir le message
    Manque de bol: le fichier et son répertoire existent bel et bien, ils ont tous deux été créés sous.. Lazarus! L'intitulé du fichier est strictement le même sous Pascal que sous Python, c'est du reste un copier/coller.
    Bon, deux hypothèses
    • hypothèse A: le fichier existe et Python c'est de la daube
    • hypothèse B: Python a raison et la faute en incombe donc au codeur

    Vers quelle hypothèse va-t-on tous pencher à ton avis? Nous non plus on n'est pas nés de la dernière pluie. On se doute bien que tu n'es pas débile et que le fichier doit exister pour toi. Mais quoi? Es-tu certain de ne pas avoir fait de faute d'orthographe? Que le nom du fichier ne contient pas un caractère invisible sur ton OS ou dans ton code?
    Tu peux tenter un print(os.listdir("c:\temp")) pour avoir à l'écran la liste des fichiers telle que la voit Python. Accessoirement "c:" indique un OS type Windows dans lequel les caractères de séparation du chemin sont des backslashes et non des slashes.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  18. #18
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    C'est fait!
    Ce serait fait si je pouvais recopier le code et reproduire l'erreur.

    Or déjà, je suis obligé de nettoyer le code que vous avez posté... et je me retrouve avec la seule définition de la fonction getorder:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import os
    import traceback
     
    FichierOrders =  'c:/temp/Orders.rob'
     
    def getorder():
        try:
            f=open(FichierOrders, 'r')
            data=f.read()
        except Exception:
            data='erreur.'
            traceback.print_exc()
        return(data)
    Et l'exécution de ce script n'a aucune raison de planter puisqu'il ne fait pas grand chose a part définir une fonction.

    Je peux encore modifier le code en ajoutant l'appel de la fonction. Normal que çà plante avec le nom de fichier original: il n'existe pas chez moi (et ça ne sort pas d'erreur avec un fichier existant).

    Avec çà, toujours pas de problème côté Python mais peut être que vous êtes un peu débordé par autant de nouveautés (en 40 ans, j'ai pratiqué des tas de langages: çà aide à garder l'esprit alerte et un peu d'humilité).

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

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/01/2016, 20h34
  2. AttributeError: 'module' object has no attribute 'ipv4_cksum
    Par comtention dans le forum Général Python
    Réponses: 6
    Dernier message: 05/10/2012, 18h09
  3. Selenium - AttributeError: 'module' object has no attribute
    Par bender1979 dans le forum Général Python
    Réponses: 4
    Dernier message: 09/11/2010, 22h03

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