0
sox.exe`我從Windows CMD運行此命令成功行:運行`在Python
c:\cygwin\bin\sox.exe -r 16000 -c 1 c:/work/out/in_fixed.s32 c:/work/out/out_float.f32
然而,我無法從Python的運行:
import subprocess
if __name__ == "__main__":
sox = 'c:/cygwin/bin/sox.exe'
in_fixed = 'c:/work/out/in_fixed.s32'
out_float = 'c:/work/out/out_fixed.f32'
cmnd = '-r 16000 -c 1 ' + in_fixed + ' ' + out_float
subprocess.call([sox, cmnd])
療法誤差:
/usr/bin/sox FAIL sox: Rate value ` 16000 -c 1 c:/work/out/in_fixed.s32 c:/work/out/out_fixed.f32' is not a positive number.
如何從python正確啓動此命令?
謝謝。不工作。我需要將16000和1放在引號中,所以這是有效的:subprocess.call([sox,'-r','16000','-c','1',in_fixed,out_float])。請鄒先生解決答案。不過,這個解決方案不是很方便;我仍然想在一個變量中傳遞我的參數。 – Danijel
然後作爲一個變量傳遞並調用'sox.split()'...顯然,當你的命令中有空格時不起作用。 –