2015-04-03 161 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