2015-04-03 254 views
0

我试图运行从python.I ffmpeg的应用程序正在使用下面的代码来执行应用程序如何命令,从蟒蛇

进口子
subprocess.call(['C传递到应用程序: /ffmpeg/bin/ffmpeg.exe'])

通过此命令应用程序正在执行。可能有人告诉我,我怎么能传递命令给应用程序,我想

subprocess.call([ 'C:/ffmpeg/bin/ffmpeg.exe','的ffmpeg -i 2.mp4 -vn -ab 128 outputaudio.mp3'])

但它不工作。

+0

你不想传递命令给你的应用程序,但参数。可能的重复http://stackoverflow.com/questions/11801098/calling-app-from-subprocess-call-with-arguments – 2015-04-03 15:03:55

回答

0

参数应该在列表中分别是不同的元素。 doc page有一个如何调用它的例子。你应该是这样的:

['C:/ffmpeg/bin/ffmpeg.exe','ffmpeg','-i 2.mp4','-vn','-ab','128','outputaudio.mp3'] 
+0

这是为什么downvoted? – KSFT 2015-04-03 18:06:54

2

他们需要的是个人ARGS:

subprocess.check_call(['C:/ffmpeg/bin/ffmpeg.exe','ffmpeg','-i',"2.mp4","-vn", "-ab", "128", "outputaudio.mp3"]) 

还可以使用check_call代替callcheck_call将引发CalledProcessError命令返回非零退出状态。 我不确定'ffmpeg'应该在那里。

+0

先生,您是对的,当我使用“check_call”方法时,即使运行ffmpeg.exe文件,我也会收到“CalledProcessError”。请告诉我如何运行应用程序并通过参数。 – shre 2015-04-04 05:47:13

+0

是否存在'C:/ ffmpeg/bin/ffmpeg.exe'? – 2015-04-04 09:39:01