Я получаю эту ошибку каждый раз, когда пытаюсь выполнить код.
Вот моя связка кода:
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()
. Но я не знаю, как оно используется (я новичок в использовании пошатывания)
Любая помощь в этом отношении была бы большой помощью Спасибо