Seite 1 von 1

Programm aufrufen, dass im Hintergrund läuft

Verfasst: Freitag 2. April 2004, 07:34
von MaDlocK
Moin,

kann ich mit os.system() ein Programm so starten, dass der User nicht sieht, dass das Programm aufgerufen wurde? Mich interessiert nämlich nur der Rückgabewert. :wink:

Greetz
MaDlocK

Verfasst: Freitag 2. April 2004, 15:29
von Milan
Hi. Welchen Rückgabewert meinst du? Den Exitcode? Oder die Ausgabe des Programmes?
In deinem Fall würde ich auf jeden Fall mit Pipes arbeiten, da du so alle Informationen bekommst, siehe hier.

Milan

Verfasst: Freitag 2. April 2004, 20:55
von MacEvil
Mail.app = Apple's (Macintosh) Mail Programm

Code: Alles auswählen

>>> import os
>>> os.chdir("/Applications/")
>>> os.system("open Mail.app")
0
>>> 

Verfasst: Montag 5. April 2004, 14:05
von MaDlocK
Hi.
Danke für eure Antworten. :D

Ich meinte den Exit Code des Programms. Hab jetzt aber eine bequemere Methode gefunden. Ich öffne das Programm mit os.system und lass mir die Ausgabe in ein Textfile speichern. So sieht der User nix und ich kann die Datei auslesen. :lol:

Verfasst: Montag 5. April 2004, 14:12
von Milan
MaDlocK hat geschrieben:Hi.
Danke für eure Antworten. :D

Ich meinte den Exit Code des Programms. Hab jetzt aber eine bequemere Methode gefunden. Ich öffne das Programm mit os.system und lass mir die Ausgabe in ein Textfile speichern. So sieht der User nix und ich kann die Datei auslesen. :lol:
Hi. Ich würds nicht als bequemer bezeichnen (:wink:) weil du über die Pipes ja schon die ganze Ausgabe und den Exitcode bekommst. Zusätzlich kannst du dem Programm noch ein paar Eingaben machen, die es dann über die Standarteingabe verarbeiteten kann. Ich meine die Ausgabe in eine Datei schreiben ist zwar machbar, aber wenn man es glaich von Anfang an anders kann...

Falls dir popen3 nicht zusagt, kannst du ja auch nur eine Pipe benutzen:

Code: Alles auswählen

import os
out=os.popen('befehl','r')
ausgabe=out.read()
exitcode=out.close()
Milan