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é.