banner

Сортируем музыку по папкам используя id3

Совсем недавно у меня сломался жесткий диск и мне пришлось долго восстанавливать нужную информацию. Часть файлов восстановить не удалось, в том числе и музыку.
Вся музыка у меня так же храниться на iphone, но проблема в том что он не хранит её в папках и присваивает имена из набора букв, у него свой формат хранения медийных файлов.
Для того чтобы исправить это недоразумение был написан простой скрипт, который переименовывает и раскидывает музыку основываясь на id3 тэгах mp3 файла.

#coding:utf-8
from mutagen.id3 import ID3
import os,shutil
ignore = '> < | ? * / \ : "'.split(' ') # Символы запрещенные в путях
path = 'F:/Music/' # Папка с Mp3 файлами
out_path = 'F:/DMisic/' # Папка с mp3 файлами на выходе
files = os.listdir(path)
if not os.path.exists(out_path):
    os.mkdir(out_path)
for file in files:
    id3 =  ID3(path+file)
    try:
        artist = id3['TPE1'].text[0]
    except:
        artist = 'undef'
    try:
        album = id3['TALB'].text[0]
    except:
        album = 'undef'
    try:
        track = id3['TIT2'].text[0]
    except:
        track = file
    for ign in ignore:
        artist = artist.replace(ign,'') 
        album = album.replace(ign,'')
        track = track.replace(ign,'')
    if not os.path.exists(out_path+artist):
        os.mkdir(out_path+artist)
    if artist.endswith(' '):
        artist = artist[:-1]
    if album.endswith(' '):
        album = album[:-1]
    if track.endswith(' '):
        track = track[:-1]
    opath  = '%s%s/%s'%(out_path,artist,album)
    if not os.path.exists(opath):
        os.mkdir(opath)
    absp = '%s/%s.mp3'%(opath,track)
    shutil.copy(path+file,absp)
  • http://hiphopa.net/ Дима

    Ну визучий), я в коме был как у меня жосткий полетел ((