2011-10-29 73 views
0

我想在工作目錄中將所有FLAC文件轉換爲OGG:Python批量轉換FLAC文件

這就是我已經擁有的。

for root, dirs, files in os.walk(args): 
     flacs = [f for f in files if f.endswith('.flac')] 
     oggs = [o for o in files if o.endswith('.ogg')] 

     for flacfiles in flacs: 
      id3 = ('id3v2', '-C', flacfiles) 
      cmd = ('oggenc', '-q7', flacfiles) 
      try: 
       subprocess.check_call(id3, cwd=root) 
       subprocess.check_call(cmd, cwd=root) 
      except subprocess.CalledProcessError: 
       print "subprocess.CalledProcessError: Command %s returned non-zero exit status 1" % cwd 

現在我想知道我怎麼能 - 包含我的FLAC文件的目錄 - 檢查是否有一個.FLAC與.CUE,如果這是do_something)的情況下(

+2

另請考慮[GNU Make](http://www.gnu.org/s/make/)。它特別爲解決這些任務而開發。使用[這個Makefile](http://www.mat.univie.ac.at/~eno/Makefile.f2o),你可以檢測已經轉換的文件,並行啓動多個轉換器進程的能力以及更多! – Kirill

回答

0
for flacfiles in flacs: 
    if os.path.exists(os.path.splitext(flacfiles)[0] + '.cue')): 
     # do something 
+0

獲取:TypeError:強制轉換爲Unicode:需要字符串或緩衝區,找到元組 –