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

Wie prüfen, ob Subprocess beendet ?

Beitragvon snakeseven » Freitag 9. Dezember 2005, 00:24

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

Beitragvon snakeseven » Freitag 9. Dezember 2005, 00:43

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]

Wer ist online?

Mitglieder in diesem Forum: Don Terremoto