> Crude and incomplete and untested example: > > from subprocess import Popen, PIPE > > P = Popen("avconv ... lots of arguments...", shell=True, stderr=PIPE) > > for line in P.stderr: > ... examine the line from stderr ... > > # ok, we have read all of stderr now > xit = P.wait() > if xit != 0: > ... command was unsuccessful, complain, maybe abort ...
The subprocess documentation has a few good examples of pipelines that should apply to this scenario. I'd recommend the original questioner look at the documentation here closely, because he or she is using a feature of 'subprocess' that is a bit iffy, namely, the use of "shell=True". Try to avoid "shell=True" unless you really have no choice. Rather than construct the pipeline through the shell, do it through Python if you can. See: https://docs.python.org/2/library/subprocess.html#replacing-shell-pipeline Also, prefer the use of communicate() rather than wait() in the scenario above. Otherwise, the code is susceptible to PIPEs getting overflowed. See: https://docs.python.org/2/library/subprocess.html#subprocess.Popen.communicate Best of wishes! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor