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

EDI/RAD Python Discussion :

[Spyder (Python 2.7)] Les erreurs de la bibliothèques os ouvrent la console interne


Sujet :

EDI/RAD Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [Spyder (Python 2.7)] Les erreurs de la bibliothèques os ouvrent la console interne
    Bonjour,

    Mon Problème

    Je code dans l'environnement Spyder (du pack WINPYTHON.2791) et je rencontre un problème assez gênant avec l'utilisation de la bibliothèque os.

    Lorsqu'une erreur est levée par la bibliothèque, la console interne s'ouvre et aucun message d'erreur ne s'affiche dans ma console d'execution.

    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # -*- coding: utf-8 -*-
    import os
     
    f = open("test.txt", "w+")
    f.write("Will it work ?")
    f.close()
     
    os.rename("test.txt", "test2.txt")
    A la première execution on crée un fichier test.txt que l'on renomme en test2.txt, tout va bien.
    A la seconde execution on crée un nouveau fichier test.txt et on veut le renommer en test2.txt, ce qui pose problème puisque ce fichier existe déjà.

    Lorsque le script est executé via IDLE j'obtiens bien une erreur dans la console:
    WindowsError: [Error 183] Impossible de créer un fichier déjà existant

    Lorsque j'execute ce même script via Spyder (via une console Python), l'erreur ne s'affiche pas et la console Python est bloquée. En parallèle la console interne s'ouvre avec le message suivant:
    Console interne de Spyder

    Il s'agit d'une console de débogage
    utilisée par Spyder pour signaler des erreurs
    internes ou pour inspecter les entrailles de
    l'application avec les commandes ci-dessous :
    spy.app, spy.window, dir(spy)

    Ne l'utilisez pas pour exécuter votre propre code.

    >>> Traceback (most recent call last):
    File "C:\Users\H33376\Documents\Gratuiciels\WINPYTHON.2791\python-2.7.9\lib\site-packages\spyderlib\widgets\externalshell\baseshell.py", line 275, in write_output
    self.shell.write(self.get_stdout(), flush=True)
    File "C:\Users\H33376\Documents\Gratuiciels\WINPYTHON.2791\python-2.7.9\lib\site-packages\spyderlib\widgets\externalshell\baseshell.py", line 265, in get_stdout
    return self.transcode(qba)
    File "C:\Users\H33376\Documents\Gratuiciels\WINPYTHON.2791\python-2.7.9\lib\site-packages\spyderlib\widgets\externalshell\baseshell.py", line 258, in transcode
    return to_text_string(qba.data(), 'utf8')
    File "C:\Users\H33376\Documents\Gratuiciels\WINPYTHON.2791\python-2.7.9\lib\site-packages\spyderlib\py3compat.py", line 134, in to_text_string
    return unicode(obj, encoding)
    File "C:\Users\H33376\Documents\Gratuiciels\WINPYTHON.2791\python-2.7.9\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
    UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 1406: invalid continuation byte
    A savoir que ce message s'affiche plusieurs fois, pour des positions differentes (fin du message, gras souligné): 1406, 1447, 1425, 336, ..


    Ca parle d'encodage, mais tout est sensé être en utf8.

    Est ce que qu'un sait comment résoudre le problème ?

    Merci d'avance pour vos réponse.

    La bise à tous.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Problème d'affichage d'erreur ?
    A mon avis l'erreur vient de l'affichage des accents présents dans le message d'erreur, qui n'est pas géré par la console Python de spyder.

    Lorsque j'execute ce script via la console windows, j'observe le problème d'encodage dans l'affichage de l'erreur même:

    WindowsError: [Error 183] Impossible de crÙer un fichier dÙjÒ existant

    Ceci dit, je ne sais pas comment contourner le problème, je ne voudrais pas en arriver à modifier le code même du module os pour eviter les accents...

Discussions similaires

  1. [Htaccess] Gérer les erreurs HTTP du type 404...
    Par Marshall_Mathers dans le forum Apache
    Réponses: 4
    Dernier message: 01/07/2004, 10h29
  2. question sur les erreurs de compilation
    Par vince3320 dans le forum C
    Réponses: 5
    Dernier message: 19/04/2004, 11h34
  3. Recuperer les erreurs des requetes sql en asp
    Par emile13 dans le forum ASP
    Réponses: 3
    Dernier message: 01/04/2004, 13h49
  4. [web] comment afficher les erreur d'un cgi
    Par chtiboss dans le forum Web
    Réponses: 6
    Dernier message: 24/12/2003, 11h22
  5. Empecher les erreurs du débogeurs
    Par remixtech dans le forum EDI
    Réponses: 9
    Dernier message: 04/06/2003, 13h45

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