os.system() returns 错误代码 32512 - Python

os.system() returns error code 32512 - Python

我在 Python 2.7 中使用以下系统命令。我能够在终端中成功执行相同的命令,而我无法在 python 中 运行(获取 return 代码 = 32512) .该命令基本上将 mp3 文件转换为 wave 文件以及立体声到单声道的转换。我能够 运行 在终端中成功执行相同的命令。

下面是我正在尝试的命令:

os.system("ffmpeg -i /Users/krish/audio.mp3 -acodec pcm_s16le -ar 16000 -ac 1 /Users/krish/converted_audio.wav")

我也尝试使用 subprocess 命令,但它给出了相同的 32512 return 代码。

谁能帮我看看这是怎么回事?

您收到该错误是因为您必须使用带有 os.system() 的 ffmpeg 命令的完整路径。

而不是 os.system() 查看 subprocess.call()This 可能会有帮助。

更具体的答案。

而不是在python中使用这样的命令:

os.system("ffmpeg -i /Users/krish/audio.mp3 -acodec pcm_s16le -ar 16000 -ac 1 /Users/krish/converted_audio.wav")

首先尝试通过在终端中提供以下命令来找出您的 ffmpeg 安装位置(适用于 linux 和 mac)

which ffmpeg

在我的例子中,这是上述命令的输出:

/usr/local/bin/ffmpeg

现在,修改python中的os.system命令如下:

os.system("/usr/local/bin/ffmpeg -i /Users/krish/audio.mp3 -acodec pcm_s16le -ar 16000 -ac 1 /Users/krish/converted_audio.wav")

这应该很好用而不会抛出 32512 错误!