Bonjour,
J'aimerais pouvoir dans un script python lancer un programme shell en font de tache ou récupérer le résultat de la commande.
par exemple j'aimerais pouvoir récupérer de résultat d'un "ls" ou plus exactement pour ceux qui connaisse récupérer ce que me renverrais "radvdump".
Voila je ne sais pas trop si c possible et je vous remercie d'avance pour toute l'aide que vous pourrai m'apporter.
P.S: Je suis nouvel utilisateur de Python j'espère que ma question n'est pas trop bête. Je me suis déjà fait, en plus de recherches sur le net, un tutoriel de 300 pages mais j'ai rien trouvé sur le sujet.
# re
Posté par Sylvain (site web personnel) . Évalué à 2.
import commands
u=commands.getoutput('commande')
et dans u tu as la string du retour de la commande.
En esperant t'avoir aidé :)
[^] # Re: re
Posté par Sebastien . Évalué à 2.
import commands
status,output = commands.getstatusoutput(cmd)
# os.popen
Posté par Brahici . Évalué à 2.
# Merci
Posté par ferveuol . Évalué à 1.
J'ai juste encore un problème radvdump est un programme qui écoute sans jamais s'arrêter est il possible de l'arrêter prématurément histoire d'avoir les info qu'il donne après un certain temps ou mieux de l'ecouter alors qu'il tourne.
[^] # Re: Merci
Posté par Ptignome . Évalué à 1.
par contre pour arrêter le programme au bout d'un certain temps ça risque de compliquer les choses
# re
Posté par Sylvain (site web personnel) . Évalué à 1.
[^] # Re: re
Posté par ferveuol . Évalué à 0.
elle consiste à renvoyer les sorties du programme radvdump vers l'entrée du programme python de tel manière à pouvoir les traiter au fur et à mesure.
en le lançant comme ceci :
radvdump|MonProgPython
Vous en pensez quoi? Est-ce qu'il s'agit d'une aberration ou d'une solution envisageable?
[^] # Re: idée
Posté par Thomas Hervé . Évalué à 2.
Sinon fouille du côté de popen2/popen3, ce que tu demandes est faisable (par exemple si le programme est bien fait si tu fermes stdin il doit s'arrêter).
--
Thomas
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.