方法がありますrsync m3uプレイリスト宛先ディレクトリを入力します。
プレイリストの順序と一致するようにファイルをソートするようにリストを処理し、出力に番号を付ける方法は?
たとえば、m3u:
/music/song-yellow.mp3
/music/song-red.mp3
/music/song-blue.mp3
/ rsyncプレイリストの内容がコピーされ、ファイル名が次のように変更されます。
/dest-path/01-song-yellow.mp3
/dest-path/02-song-red.mp3
/dest-path/03-song-blue.mp3
これにより、ミックステープのプレイリストを作成して人々にコピーできます。
どんな提案にも感謝します。
答え1
次のようにしてみてください。
#!/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を過度に使用したことをお詫び申し上げます。シェルが特別な意味を与えることを好むすべての文字をエスケープする必要がないのに役立ちます。
スクリプトはI / Oエラーのため失敗しません。警告のみを印刷します。その他には完全な検査はありません(ご覧のように)。また、M3Uのコメントも除外されません。ただし、NUL
ファイルシステムレベルの特殊文字であるsとスラッシュを除いて、ユーザーが入力したすべての文字をコピーします。