Seite 1 von 1

Win32 subprocess

Verfasst: Donnerstag 10. Februar 2005, 15:28
von nobs
Ich steh auf der Leitung bitte um Hilfe!

Will ein Programm starten unter python, die ausgabe aber ins skript zurück, bekommen.

Also optimal währe
os.system("doit.exe")
und dann stdout und stderr als rückgabewert erhalten

Ich will aber warten bis das programm wirklich beendet ist

popen4 würde das mit sdtout und err lösen, aber wie finde ich heraus, das der process schon beendet wurde?
Vor allem brauch ich auch den rückgabewert!!
Popen4 (die classe) kann alles, gibts nur unter Unix :(

spawn* liefert zwar den Rückgabewert, aber wie komm ich zu stderr und out?


Weis jemand vielleicht andere alternativen?
z.B. mit Pipes arbeiten,
(also das ich die Ausgabe von meinem "doit.exe" umlenke)
Falls ja, Beispiele?

Vielen dank im Voraus !

Verfasst: Donnerstag 10. Februar 2005, 16:40
von BlackJack
In Python 2.4 gibt es das Modul 'subprocess' das eine platformübergreifende Lösung für dieses Problem sein soll.

Verfasst: Donnerstag 10. Februar 2005, 16:48
von nobs
aja noch vergessen zu sagen
falls irgendwie möglich version 2.3

(ps.: subprocess mach ja auch nix anderess als die calls auf popen usw. zu kapseln, oder?)

Verfasst: Donnerstag 10. Februar 2005, 17:17
von Leonidas
Kannst ja subprocess.py kopieren, ich denke das sollte keine Probleme machen.

Verfasst: Freitag 11. Februar 2005, 09:48
von nobs
Anscheinend ist das die Lösung....

Werde es mal ausprobieren!
Danke für die Hilfe!