Externes Programm starten und Python-Code beenden

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
de_tom
User
Beiträge: 15
Registriert: Dienstag 19. Juli 2016, 19:34

Hallo,

wie kann man aus einem Pythonscript ein externes Programm starten und das Python-Script danach beenden (egal, was das externe Programm tut)?
Wenn ich es wie folgt versuche, wartet Python immer, bis das externe Programm beendet ist:

Code: Alles auswählen

s = subprocess.call('C:\\Program Files\\Microsoft Office\\Office15\\winword.exe d:\\documents\\report.docx')
Ich habe mir schon die Finger wund gegoogelt, finde aber nirgendwo eine Lösung.

Gruß,
Tom
Benutzeravatar
Axel-WAK
User
Beiträge: 62
Registriert: Dienstag 29. November 2022, 11:52

Sollte das nicht eher so aussehen?

Code: Alles auswählen

s = subprocess.call(['C:\\Program Files\\Microsoft Office\\Office15\\winword.exe', 'd:\\documents\\report.docx'])
OS: LMDE5 *** Homepage *** Github Seite
Benutzeravatar
Dennis89
User
Beiträge: 1153
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

'call' wartet bis der Prozess beendet wird:
https://docs.python.org/3/library/subpr ... -level-api

Versuche es doch mal mit 'popen'.

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
de_tom
User
Beiträge: 15
Registriert: Dienstag 19. Juli 2016, 19:34

Hi Dennis,

vielen Dank!

Code: Alles auswählen

s = subprocess.Popen('C:\\Program Files\\Microsoft Office\\Office15\\winword.exe d:\\documents\\report.docx')
ist die Lösung.

Gruß,
Tom
Antworten