Appel programme externe à partir de python et d'obtenir sa sortie
Je veux appeler un programme (.exe
), qui est écrite en C++ et compilé, à partir de Python. L'exécutable prend en entrée deux fichiers et renvoie un score.
J'ai besoin de faire cela pour de multiples fichiers. Donc, je voudrais écrire un petit script en python qui passe en boucle sur plusieurs fichiers, les transmet à l'exécutable et récupère les valeurs.
Maintenant, j'ai fait mes recherche et je sais à propos de SWIG et Boost::Python peut être une option, mais j'essaye de savoir si il existe un moyen plus facile. Je n'ai pas besoin de "s'étendre" le programme C++. Je veux simplement l'appeler comme je voudrais à partir d'une ligne de commande et d'obtenir le nombre retourné.
ce n'est pas ce qu'il veut faire -- que la réponse juste, renvoie le code de retour, pas de la sortie du programme.
Le bon dupliquer What un bon équivalent à python sous-processus.check_call qui renvoie le contenu de la sortie standard (stdout)?
OriginalL'auteur Sagar | 2011-09-29
Vous devez vous connecter pour publier un commentaire.
Pour exécuter un programme externe et obtenez sa sortie, utilisez
sous-processus.check_output
sur Python 2.7+. L'exemple de la doc:check_call
retourne le code de retour du programme, et non pas la sortie.OriginalL'auteur agf
Vous pouvez utiliser le
sous-processus
module.OriginalL'auteur icktoofay