Hallo,
ich versuche ein Programm via subprocess aus Python heraus zu starten. Das klappt auch ganz wunderbar mit subprocess.call("xyz.exe") allerdings wartet das Programm dann auf die Eingabe eines Strings den es für den weiteren Programmablauf benötigt... und da drückt der Schuh!
Wie kann ich diesen String an das Programm übergeben, sobald dieses danach fragt (bzw. gleich beim Aufruf mit übergeben).
Vielen Dank schon einmal für die Hilfe!
Input zum Subprocess
So, ich habe jetzt eine Lösung gefunden. Ist wahrscheinlich nicht die beste, aber auf jeden Fall funktioniert sie.
Wenn irgendwer weiß wie man das ohne der Hilfsdatei temp.txt macht, wäre ich für eine kurzes Beispiel dankbar.
Wenn irgendwer weiß wie man das ohne der Hilfsdatei temp.txt macht, wäre ich für eine kurzes Beispiel dankbar.

Code: Alles auswählen
import subprocess
f=open('temp.txt','r') #enthält die Eingabe für das Programm
XYZ = subprocess.Popen("xyz.exe",stdin=f)
returncode = XYZ.wait()
if returncode != 0:
raise ("XYZ wasn't able to finish the calculation")
f.close()
Hallo User0815.
ms4py hat dich doch auf communicate() hingewiesen. Ich verstehe dann immer nicht ganz, warum solche Hinweise völlig übergangen werden und es schlicht heißt "wenn ihr ein lauffähiges Beispiel habt - immer her damit".
Nach kurzer Suche habe ich diesen Artikel gefunden, in dem auch ein lauffähiges Beispiel zu finden ist.
Viel Spaß und schönen Gruß,
brb
ms4py hat dich doch auf communicate() hingewiesen. Ich verstehe dann immer nicht ganz, warum solche Hinweise völlig übergangen werden und es schlicht heißt "wenn ihr ein lauffähiges Beispiel habt - immer her damit".
Nach kurzer Suche habe ich diesen Artikel gefunden, in dem auch ein lauffähiges Beispiel zu finden ist.
Viel Spaß und schönen Gruß,
brb
Code: Alles auswählen
from subprocess import Popen, PIPE
output = Popen(["mycmd", "myarg"], stdin=PIPE, stdout=PIPE).communicate('input...')[0]

„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/