Bonjour,
je voudrais lancer un fichier C++ via une ligne de commande en récupérant le texte renvoyé par le fichier C++ dans la console.
Comment fait-on ?
Toute info est la bienvenue.
Bonjour,
je voudrais lancer un fichier C++ via une ligne de commande en récupérant le texte renvoyé par le fichier C++ dans la console.
Comment fait-on ?
Toute info est la bienvenue.
Bonjour,
A mon avis, il faut utiliser le module subprocess qui permet de lancer un processus en permettant une communication par pipe.
Par exemple, contenu du répertoire c:\*.* et affichage dans la console windows (encodage=cp850):
Tyrtamos
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 import subprocess x = subprocess.Popen([r"dir", r"C:\*.*"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) sortie = x.stdout.readlines() x.wait() for ligne in sortie: print ligne.rstrip('\r\n').decode('cp850')
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
Nickel.
Cela marche sans problème si ce n'est que je me suis heurté à un mini-problème : le changement de dossier pour exécuter ma ligne de commande.
Je mets ci-dessous le code à placer avant la subprocess, cela peut toujours servir.
C'est tout bête. J'avais essayé d'utiliser chdir directement avec le subprocess mais cela ne fonctionnait pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 import os os.chdir(cheminCompletDuDossier)
Il y a aussi os.popen.
Normalement suffisant pour tes besoins.
Après tu lit comme un fichier...
Merci. Peux-tu donner un exemple tout simple ?
os.popen est maintenant déprécié par rapport à subprocess.Popen.
Michaël Mary
Consultant PLM dans une société de conseil toulousaine
Auditeur CNAM-IPST depuis septembre 2008
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
John F. Woods
mon cv et mon domaine et mon blog
Aucune question technique par MP, svp
Ok c'est noté. Merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager