Scripting
將 m3u 播放列表導出到目錄,按它們出現在播放列表中的順序
有一種方法可以將 m3u 播放列表同步到目標目錄。
如何處理列表並對輸出進行編號,以便對文件進行排序以匹配播放列表順序?
例如 m3u:
/music/song-yellow.mp3 /music/song-red.mp3 /music/song-blue.mp3
將複製/同步播放列表內容,將文件重命名為:
/dest-path/01-song-yellow.mp3 /dest-path/02-song-red.mp3 /dest-path/03-song-blue.mp3
這樣我就可以建立混音帶播放列表並為人們複製它們。
任何建議表示讚賞。
嘗試這樣的事情:
#!/usr/bin/python FILE = '/home/my-home/my-playlist.m3u' DIR = '/some-target-directory' import os.path, shutil, sys for i, s in enumerate(open(FILE)): s = s.rstrip() try: shutil.copy(s, os.path.join(DIR, '%03d-%s' % (i+1, os.path.basename(s)))) except IOError, e: sys.stderr.write('warning: %s\n' % e) # End of file.
顯然,設置
FILE
並DIR
滿足您的需要。很抱歉,為此使用 Python 並為此感到抱歉 - 它有助於不必逃避所有那些 shell 喜歡附加特殊含義的字元。該腳本不會因 I/O 錯誤而失敗,它只會輸出警告。除此之外,沒有完整性檢查(如您所見)。它也不排除 M3U 註釋。不過,它會很高興地複制你扔給它的任何字元,除了
NUL
s 和斜杠,它們是文件系統級別的特殊字元。