Programm aufrufen, dass im Hintergrund läuft

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.
Antworten
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
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

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
MacEvil
User
Beiträge: 52
Registriert: Mittwoch 21. Januar 2004, 21:40

Mail.app = Apple's (Macintosh) Mail Programm

Code: Alles auswählen

>>> import os
>>> os.chdir("/Applications/")
>>> os.system("open Mail.app")
0
>>> 
Möge die Python-Community gedeihen
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:
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

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
Antworten