なんとなく気になっていたのでPythonで書いてみた。
ifなどの : の書き方が非標準的。
(くっついてるとなんとなく気持ち悪い。なれたら逆になるだろうか)
このスクリプトでは使っていないけれど、クラスなどがシンプルな印象。
後付OOだからだろうか。
#!/usr/bin/python #[=c= python %] import re, os, glob """ mp3フォルダのバンド名フォルダに国コードをつけるためのサポートスクリプト はじめてのPythonスクリプト! """ # バンド名などを尋ねて、該当する物を返す def queryDirs (roots) : name = raw_input("name?\n") if not name : return dirs = [] for root in roots : os.chdir(root) for dirName in glob.glob('*') : if re.match(name, dirName, re.I) and not re.match(".*\(\w{2,3}\)", dirName) : dirs.append(root + "/" + dirName) return dirs # 国コードを尋ねる def queryCountry () : res = raw_input("country?\n") if re.match("\w{2,3}", res) : return res else: return # フォルダに国コードを付加する def addCountry (dirs, country) : for dir in dirs : print dir, dir + " (" + country + ")" os.rename(dir, dir + " (" + country + ")") # メイン def main () : base = "/e/root/music/" roots = [base + "disc", base + "disk"] while 1 : dirs = queryDirs(roots) if not dirs : continue print dirs country = queryCountry() if not country : continue addCountry(dirs, country) ######################################## main()