1

フォルダにある数十の.wavファイルをv0mp3に変換する簡単なスクリプトを書きたいと思います。複雑にする必要はありません。仕事をして、その過程でPythonを少し学ぶのに十分です;)

「lame」の呼び出しを行うには、「from subprocess import call」のようなものを使用する必要があることを収集しましたが、残りをどのように記述できるかについては行き詰まっています。私は以前にこれを行うためのbashスクリプトを作成しましたが、Windowsではあまり良くありません。

基本的なPythonプログラミングを理解しています。

4

2 に答える 2

2

少なくとも 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)
于 2011-08-06T23:20:36.980 に答える
-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")
于 2011-08-06T23:22:18.430 に答える