我正在Popen(shlex.split(command)
运行一个 ffmpeg 命令,该命令从 quicktime mov 文件中保存 wav 文件,同时还保存一个 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