Я использую команду Popen(shlex.split(command)
для запуска команды ffmpeg, которая сохраняет файлы wav из файла QuickTime Mov, а также сохраняет файл журнала ffmpeg на в то же время. если я использую это:Python - Popen (shlex.split (command), shell = False) - не работает с ffmpeg
command = './ffmpeg/ffmpeg -i /Users/me/Documents/MOVS/source.mov -map 0:1 -acodec pcm_s16le -y /Users/me/Documents/MOVS/source_01.wav'
p = Popen(shlex.split(command), shell=False)
Затем команда завершается правильно, но если добавить строку, которая не спасает из лог-файл, то он больше не работает, так что если я использую:
command = './ffmpeg/ffmpeg -i /Users/me/Documents/MOVS/source.mov -map 0:1 -acodec pcm_s16le -y /Users/me/Documents/MOVS/source_01.wav 2> /Users/me/Documents/MOVS/lofFile.txt'
p = Popen(shlex.split(command), shell=False)
Тогда нет более длительные работы. Использование любой команды в командной строке, без python, отлично работает. Если я просто использовать:
p = Popen(command, shell=True)
Тогда все работает хорошо, но мне нужно использовать shell=False
по другим причинам.
Я просто не могу понять, почему он ломает, добавив «правильный» конец строки 2> /Users/me/Documents/MOVS/lofFile.txt
Исправьте меня, если я ошибаюсь, но не правильный синтаксис '2>'? (Вместо '> 2') –
Ваше право, извините, просто неправильно напечатал его. Вопрос обновлен. – speedyrazor