salut Yannick,

oui exactement l'erreur que tu souhaite la générer est de une erreur de compilation, c'est à dire que le programme va s'arraiter avant de l'exection. si tu veux capter touts, il faut passer par un autre module c'est le module subprocess.
import subprocess
proc = subprocess.Popen([sys.executable,fileName,''] ,stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False)
#sys.executable c'est l'executable de python
#fileName c'est le fichier qu'on veut compiler par python
#stdout=subprocess.PIPE c'est la variable qui va avoir la sortis de la console #stderr=subprocess.PIPE c'est la variable qui va avoir la sortis en cas d'erreur
variable =proc.stderr.read() #pour lire l'erreur
variable2 =proc.stdout.read() #pour lire la sortis normale



--------------------------------------------------
De : "Yannick Youalé" <mailtoloco2...@gmail.com>
Date : samedi 19 avril 2014 19:09
À : <progliste@ml.free.fr>
Objet : [progliste] Re: Re : python- envoyer le contenu de la console dans un fichier texte

Salut Yannick et J-F !

Oui, j'avais tenter de produire une erreur.

En mettant un nombre trop important de tabulation à une ligne.

J'ai aussi intégré une ligne avec la conditionnelle 'if' sans mettre le caractère deux points (:) à la fin de la ligne comme cela se doit.

Et pour ces deux cas, niet, nada, rien, nothing, aucune réaction.

Mais après l'interpellation de J-F, j'ai introduit un mot inconnu dans le fichier et là, il y a bien une erreur qui est reportée.

Se pourrait-il que dans la hiérarchie des erreurs, il y en ait qui ne soient pas captables de cette façon ?

Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.

----- Original Message ----- From: "Jean-François Colas" <jfco...@inja.fr>
To: <progliste@ml.free.fr>
Sent: Saturday, April 19, 2014 5:41 PM
Subject: [progliste] Re: Re : python- envoyer le contenu de la console dans un fichier texte


Salut Yannick,

Ici je ne parviens pas à recréer le problème, tout a l'air de marcher. De quel genre d'erreur est-ce que tu parles?

J'ai essayé de mettre une ligne bidon avent la ligne help, et j'ai obtenu dans result.txt, le message d'erreur correspondant (traceback (most recent call last)).

Aurais-tu une situation problématique à nous soumettre?

J.-F.

Le 19/04/2014 17:54, Yannick Youalé a écrit :
Salut Maan !

Je reviens à la charge !

Ayant utilisé les instructions que tu m'as donné la dernière fois, ce que j'arrive à réaliser me satisfait à moitié.

En effet, j'arrive à envoyer tout ce qui est écrit en console dans un fichier texte par les fonction print ou help, mais je n'arrive toujours pas à capter un message d'erreur de code.

Voici l'échantillon de test que j'utilise. Il pourrait intéresser d'autre j'imagine.

Début du code python

# -*- coding: utf-8 -*-
# importation du module sys pour lequel on va tenter de rechercher des infos
import sys
# chemin vers le fichier devant contenir le résultat
filePath = "d:\\result.txt"
# création de l'objet représentant le fichier
file = open(filePath, "w")
# instruction qui envéront toute écriture dans la console vers le fichier créé.
sys.stdout = file
sys.stderr = file
# écriture d'une ligne annonciatrice
# et appel de l'aide en console pour le module sys
# le texte sera directement envoyé dans le fichier result.txt
print('Voici le texte d\'aide pour le module sys\r\n')
help(sys)
# fermeture du fichier
file.close()

Fin du code python

Pas de pannique, il n'y a pas d'indentations nécessaires dans ce code.

Dès lors, comment envoyer les messages d'erreur également dans un fichier texte ?

Merci !

Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.

----- Original Message -----
   From: Maan ALOUN
   To: progliste@ml.free.fr
   Sent: Wednesday, April 16, 2014 3:04 PM
Subject: [progliste] Re : python- envoyer le contenu de la console dans un fichier texte


   salut Yannick,

   sys.stderr=fichier
   sys.stdout =fichier
n'oublis pas de sovgarder l'ancien sortis dans une variable où cas où tu l'auras besoin .




   De : Yannick Youalé
   Date : mercredi 16 avril 2014 13:41
   À : progliste@ml.free.fr
Objet : [progliste] python- envoyer le contenu de la console dans un fichier texte


   Salut à tous !

J'aimerais connaître un code pour envoyer le contenu de la console python dans un fichier texte.

Ou un code qui capterait les message d'erreur et les enverait dans un fichier texte.

   Merci !

   Yannick Daniel Youalé
   La programmation est une religion. Aimez-la, ou quittez-la.

Progliste :
Pour se désinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.




Progliste :
Pour se désinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.



Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à