0
私はpythonでffmpegで作業しています。リモートサーバがうまく動作しているときに動作しますが、リモートサーバがダウンしているときにシェルで ' TCPの接続:// XXXXXXX失敗しました:接続が拒否されました、blabla」どのようにPythonのffmpeg接続エラーをキャッチする
pro = sp.Popen(command, preexec_fn=os.setsid, shell=False, stderr=sp.PIPE, stdout=sp.PIPE)
catch例外的アプローチ1:
try:
out = self.pro.stderr.readline()
while out:
print '......'
except BrokenPipeError:
print 'err'
catch例外的アプローチ2:
for line in self.pro.stderr:
try:
print line
except BrokenPipeError:
print 'error'
しかし、これらのどれも動作しません。
あなたは ')(' Popen.communicate電話しましたか? – aergistal
はい、私はPopen.commnicate()を使用しましたが、何も動作しません。私は「pro = sp.Popen(command、preexec_fn = os.setsid)」と感じていましたが、シェルは、「stderr = sp.PIPE、stdout = sp.PIPE」というパラメータを追加してもffmpeg情報を出力します。 Popenコマンド ' – user824624