Comment faire un appel à un exécutable à partir du script Python?
J'ai besoin d'exécuter ce script à partir de mon script Python.
Est-il possible? Le script génère quelques sorties avec des fichiers en cours d'écriture. Comment puis-je accéder à ces fichiers? J'ai essayé avec la fonction d'appel de sous-processus, mais sans succès.
fx@fx-ubuntu:~/Documents/projects/foo$ bin/bar -c somefile.xml -d text.txt -r aString -f anotherString >output
L'application "barre" des références à certaines bibliothèques, aussi créer le fichier "bar.xml" en plus de la sortie. Comment puis-je obtenir l'accès à ces fichiers? Juste par l'utilisation de open()?
Merci,
Edit:
L'erreur d'exécution Python est uniquement cette ligne.
$ python foo.py
bin/bar: bin/bar: cannot execute binary file
source d'informationauteur fx.
Vous devez vous connecter pour publier un commentaire.
Pour l'exécution du programme externe, ce faire:
Et oui, en supposant que votre
bin/bar
programme écrit quelques autres assortiment de fichiers sur le disque, vous pouvez les ouvrir comme d'habitude avecopen("path/to/output/file.txt")
. Notez que vous n'avez pas besoin de compter sur un shell interne est exécuté pour rediriger la sortie vers un fichier sur le disque nommé "sortie" si vous ne voulez pas. Je vous montre ici comment lire directement le résultat dans votre programme en python sans passer par le disque entre les deux.La façon la plus simple est:
Vous accéder aux fichiers de la manière habituelle, en utilisant
open()
.Si vous avez besoin de faire plus compliqué sous-processus de la gestion puis la sous-processus module est le chemin à parcourir.
Pour l'exécution d'un fichier exécutable unix. Je n'ai la suite dans ma Mac OSX et cela a fonctionné pour moi:
Ici
print so
le résultat.