Я работаю над ffmpeg с помощью python. Это работает, когда удаленный сервер работает хорошо, однако когда удаленный сервер отключен, я мог видеть сообщение на оболочке, говорящее ' Подключение к TCP: // ххххххх не удалось: Соединение отклонено, блабла»Как поймать ошибку подключения ffmpeg на python
pro = sp.Popen(command, preexec_fn=os.setsid, shell=False, stderr=sp.PIPE, stdout=sp.PIPE)
поймать исключение подход 1:
try:
out = self.pro.stderr.readline()
while out:
print '......'
except BrokenPipeError:
print 'err'
поймать исключение подход 2:
for line in self.pro.stderr:
try:
print line
except BrokenPipeError:
print 'error'
Однако ни одна из этих работ не работает.
ли вы назвать 'Popen.communicate()'? – aergistal
Да, я использовал Popen.commnicate(), но все равно ничего не работает. То, что заставляет меня чувствовать, это «pro = sp.Popen (команда, preexec_fn = os.setsid), оболочка все еще выводит информацию ffmpeg независимо от того, добавила ли я параметры 'stderr = sp.PIPE, stdout = sp.PIPE' в Команда Popen ' – user824624