Wie prüfen, ob Subprocess beendet ?

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
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Hi,
habe eine Thread-gesteuerte MP3 Konvertierung über den Lame Encoder.

(...)

Code: Alles auswählen

import subprocess

commandotext = 'C:/Programme/Lame/lame -f ' + path_save + 'temp.wav' + ' ' + ps
subprocess.Popen(commandotext)
(...)

Blöderweise wird das Konvertieren immer wieder von Neuaufrufen von Lame unterbrochen, was zu unvollständig konvertierten Files führt.
Das Problem ist, daß der Pythoninterpreter keine Rückmeldung von Lame bekommt, wann dieser mit Schreiben des Files fertig ist. Kann ich das irgendwie prüfen ? Python soll erst dann weitermachen, wenn Lame fertig ist.
Seven
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

http://www.PythonWiki.de hat tatsächlich ein Beispiel dazu:

Code: Alles auswählen

process = subprocess.Popen('ls -l', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# warten, bis der gestartete Prozess zu Ende ist
process.wait()
Schick kurz :wink:

Seven

EDIT (jens): [wiki]Neue Tricks#head-ddf15465a1a1d901c4e06cd7709a7ba0424680fc[/wiki]
Antworten