Python 3.x 在Python 3.6中传递os.system调用的参数

Python 3.x 在Python 3.6中传递os.system调用的参数,python-3.x,ffmpeg,Python 3.x,Ffmpeg,我想把一个音频文件切成相等的20秒片段,并想将输出文件重命名为fname0.wav、fname1.wav等。我如何实现这一点?使用以下命令,我得到了错误: 我用ffmpeg运行了一个测试,结果成功了: cmd2 = "ffmpeg -i %s -f segment -segment_time 20 -c copy %s" %(file, fname) + "%09d.wav" os.system(cmd2) 将“%09d.wav”保持原样,并将其放在字符串末尾,格式之外。格式字符串中有三个参数

我想把一个音频文件切成相等的20秒片段,并想将输出文件重命名为fname0.wav、fname1.wav等。我如何实现这一点?使用以下命令,我得到了错误:


我用ffmpeg运行了一个测试,结果成功了:

cmd2 = "ffmpeg -i %s -f segment -segment_time 20 -c copy %s" %(file, fname) + "%09d.wav"
os.system(cmd2)

将“%09d.wav”保持原样,并将其放在字符串末尾,格式之外。

格式字符串中有三个参数-%s、%s和%09d。但是你只传递了两个变量。谢谢,我看到了,但是第三个变量是什么?我正在将'file'传递给第一个%s参数,并将'fname'传递给第二个%s,我不知道要为%09d传递什么?您好,谢谢,这很有帮助,但不起作用。我需要知道您的解决方案中的段数是20。我检查了文件的总长度为22.82525 sn。现在,这带来了一个新的问题:当python将文件切成相等的部分时,是否会将剩余的部分清除掉?对于这个特定的文件“对于范围内的i(?)”,它将是什么?我不明白。输出文件的长度是22.8秒,即使你告诉它20秒?我想最后一部分会更短。我认为它不会把它扔掉。试试看会发生什么。不,我的意思是我想要切掉的样本文件本身只有22.8SN。因此,如果从
nt开始,应该是一个20序列号的片段和一个0.8序列号的片段,但它们不会是相等的片段,令人困惑。我尝试过你的解决方案,它没有创建任何文件,谢谢你的时间。你现在可以再试一次吗。起初我无意中将分段时间设置为29,但现在我已更正了答案。可能它没有创建文件,因为它要求的长度比文件的长度长。