m3u 재생 목록을 디렉토리로 내보내 재생 목록에 표시

m3u 재생 목록을 디렉토리로 내보내 재생 목록에 표시

방법이 있습니다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. DIRPython을 과도하게 사용한 것에 대해 사과드립니다. 쉘이 특별한 의미를 부여하기를 좋아하는 모든 문자를 이스케이프 처리하지 않아도 되는 데 도움이 됩니다.

스크립트는 I/O 오류로 인해 실패하지 않으며 경고만 인쇄합니다. 그 외에는 온전한 검사가 없습니다(보시다시피). 또한 M3U의 의견도 배제되지 않습니다. 그러나 NUL파일 시스템 수준의 특수 문자인 s와 슬래시를 제외하고는 사용자가 입력한 모든 문자를 복사합니다 .

관련 정보