2016-02-09 4 views
0

Привет, я пытаюсь сделать что-то, что массовые изменения ID3-тегов, и Mutagen, похоже, способ пойти, но я не могу понять, почему теги остаются. Я не получаю никаких ошибок, он просто не сохраняет детали, когда я открываю «Свойства» в файле MP3.Изменить ID3 Tags Python 2.7

def changetags(path, albumart, album, title, artist): 
    mp3file = mp3.MP3(path) 

    tagged = mp3file.add_tags() 

    tagged.add(id3.TIT2(encoding=3, text=title)) 
    tagged.add(id3.TALB(encoding=3, text=album)) 
    tagged.add(id3.TPE1(encoding=3, text=artist)) 
    if albumart != None: 
     tagged.add(id3.APIC(encoding=3, mime='image/png', type=3, desc=u'Cover', data=urllib.urlopen(albumart))) 
    tagged.save() 

С уважением, Audi

+0

Если по свойствам вы имеете в виду диалоговое окно Свойства проводника Windows, то это связано с тем, что Windows только считывает теги ID3v2.3, но Mutagen записывает теги ID3v2.4. См. Https://stackoverflow.com/questions/40972762/after-using-python-mutagen-metatags-not-displayed –

ответ

0

Когда я делаю это я получаю сообщение об ошибке, потому что tagged является None. И это то, чего я ожидаю, потому что метод add_tags() ничего не возвращает. Я думаю, что вы хотите что-то подобное:

mp3file.add_tags() 
mp3file.add(id3.TIT2(encoding=3, text=title)) 
... 
mp3file.save() 

Это файл объект (или на самом деле его tags объекта), который вы хотите изменить и сохранить.

В качестве альтернативы вы можете просто создать пустой объект ID3, а затем сохранить его по указанному пути.

На стороне примечания вы можете найти класс EasyID3 более простым в использовании, особенно если вы думаете о поиске тегов в любом другом файле, кроме MP3.

Смежные вопросы