编写一个简单的python脚本,使用lame将特定文件夹中的所有.wav文件转换为.mp3

时间:2011-08-06 22:44:24

标签: python audio mp3 lame

我想编写一个简单的脚本,将我在文件夹中的几十个.wav文件转换为v0 mp3。它不需要复杂,只需要完成这项工作并帮助我在这个过程中学习一点python;)

我已经收集到了我需要使用类似“来自子进程导入调用”之类的东西来调用“lame”,但是我仍然不知道如何编写其余内容。我以前写过bash脚本来做这件事,但在Windows上它们对我来说并不好。

我理解基本的python编程。

2 个答案:

答案 0 :(得分:1)

这是一个至少适用于Ubuntu Linux的示例。如果您使用的是Windows,则需要更改斜杠的方向。

import os
import os.path
import sys
from subprocess import call

def main():
    path = '/path/to/directory/'
    filenames = [
        filename
        for filename
        in os.listdir(path)
        if filename.endswith('.wav')
        ]
    for filename in filenames:
        call(['lame', '-V0',
              os.path.join(path, filename),
              os.path.join(path, '%s.mp3' % filename[:-4])
              ])
    return 0

if __name__ == '__main__':
    status = main()
    sys.exit(status)

答案 1 :(得分:-1)

这是我到目前为止所提出的

#!/usr/bin/env python
import os

lamedir = 'lame'
searchdir = "/var/test"
name = []

for f in os.listdir(searchdir):
    name.append(f)

for files in name:
    iswav = files.find('.wav')
    #print files, iswav
    if(iswav >0):
        print lamedir + ' -h -V 6 ' + searchdir + files + ' ' + searchdir + files[:iswav]+'.mp3'
        os.system(lamedir + ' -h -V 6 ' + searchdir + files + " " + searchdir +  files[:iswav]+".mp3")