«NoTagError: тег ID3v2 не найден» в Stagger с использованием Python - PullRequest
0 голосов
/ 15 июня 2019

Я получаю эту ошибку каждый раз, когда пытаюсь выполнить код.

Вот моя связка кода:

import os
from natsort import natsorted
import fnmatch
import stagger

def find_music(start, extension):
    for path, directories, files in os.walk(start):
        for file in fnmatch.filter(files, "*.{}".format(extension)):
            abs_path = os.path.abspath(path)
            yield os.path.join(abs_path, file)

for f in natsorted(find_music('music', 'emp3')):
    f = f.replace('\\', '/')
    tag = stagger.read_tag(f)   #This line reproducing Error
    print('Artist: {}, Album: {}, Track: {}, Song: {}'.format(tag.artist, tag.album, tag.track, tag.title))

Наблюдаемый вывод

Traceback (most recent call last):

File "<ipython-input-8-185bd8f27d18>", line 3, in <module>
  tag = stagger.read_tag(f)

File "C:\Users\singh\Anaconda3\lib\site-packages\stagger\tags.py", line 81, in read_tag
  (cls, offset, length) = detect_tag(file)

File "C:\Users\singh\Anaconda3\lib\site-packages\stagger\tags.py", line 108, in detect_tag
  raise NoTagError("ID3v2 tag not found")

NoTagError: ID3v2 tag not found

Ожидаемый результат

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

Что я пробовал

1) Я пытался изменить tag = stagger.read_tag(f) на tag = stagger.read_tag('{}'.format(f)), но ошибка все еще сохраняется (я знаю, что это просто еще один способ написать то же самое).

2) Я искал ошибку в Google, получил исправление, используя stagger.default_tag(). Но я не знаю, как оно используется (я новичок в использовании пошатывания)

Любая помощь в этом отношении была бы большой помощью Спасибо

...