Win32 subprocess

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
nobs
User
Beiträge: 13
Registriert: Donnerstag 27. Januar 2005, 16:43
Kontaktdaten:

Win32 subprocess

Beitragvon nobs » Donnerstag 10. Februar 2005, 15:28

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 !
BlackJack

Beitragvon BlackJack » Donnerstag 10. Februar 2005, 16:40

In Python 2.4 gibt es das Modul 'subprocess' das eine platformübergreifende Lösung für dieses Problem sein soll.
nobs
User
Beiträge: 13
Registriert: Donnerstag 27. Januar 2005, 16:43
Kontaktdaten:

Beitragvon nobs » Donnerstag 10. Februar 2005, 16:48

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?)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 10. Februar 2005, 17:17

Kannst ja subprocess.py kopieren, ich denke das sollte keine Probleme machen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
nobs
User
Beiträge: 13
Registriert: Donnerstag 27. Januar 2005, 16:43
Kontaktdaten:

Beitragvon nobs » Freitag 11. Februar 2005, 09:48

Anscheinend ist das die Lösung....

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder