Simple gadget life programming diary

Simple gadget life の中の人によるプログラミングメモ

Mac+Pythonでフォルダ内のmp3ファイルをcafファイルに一括変換するスクリプト

お手軽スクリプトです。

フォルダ内の再帰検索やエラーハンドリングには対応していません。
指定したフォルダ内にすべてmp3ファイルが存在する前提です。

pathの部分にmp3ファイルを置いたフォルダの場所を指定してください。

すこしハマった所としてはglobの記述方法でしょうか。
他のサイトのマネでは動かなかった。。

環境はMac(El Capitan)+python 2.7.10 です。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import subprocess
from os.path import join, relpath, splitext
import glob

path = '/Users/ユーザー名/Desktop/sound/'

# ディレクトリから拡張子なしでファイル名を配列取得
files = [relpath(x, path) for x in glob.glob(join(path, '*'))]

# 配列分処理を繰り返す
for filename in files:
    # ファイル名と拡張子を分ける
    name, ext = splitext(filename)
    # ファイル変換コマンドを引数形式で実行
    cmd = "afconvert -f caff -d ima4 {0}.mp3 {1}.caf".format(path+name, path+name)
    # 実行
    subprocess.call(cmd, shell=True)

よろしければどうぞ。