Ausgabe in Stdout bei 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.
Antworten
pmqtt
User
Beiträge: 4
Registriert: Freitag 4. Dezember 2020, 09:00

Hallo Leute,
ich habe folgendes Problem und es treibt mich in den Wahnsinn. Aber erstmal der Code:

Code: Alles auswählen

    is_windows = sys.platform.startswith('win')
    if is_windows:
        DETACHED_PROCESS = 0x00000008
        subprocess.Popen(shlex.split(command), creationflags=DETACHED_PROCESS, shell=True, stdout=subprocess.DEVNULL,
                         stderr=subprocess.DEVNULL)
    else:
        subprocess.Popen(shlex.split(command))
     
     print("HALLO WELT")
Wird der Code unter MAC und Linux ausgeführt, wird Hallo Welt ausgegeben.
Wird der Code unter Windows ausgeführt wird Hallo Welt nicht ausgegeben.

Es ist so, dass das Programm unter Windows allerdings weiterläuft, es wird nur nichts mehr auf STDOUT ausgegeben.

Ich habe versucht:
  • 1. In einem eigenen Thread auslagern
    2. verschiedenste Parameter be stdout in Popen z.B. stdout=subprocess.PIPE
Hat jemand eine Idee?

Grüße
pmqtt
User
Beiträge: 4
Registriert: Freitag 4. Dezember 2020, 09:00

Problem gelöst.
Danke
Antworten