mp3 метатег python - PullRequest
       7

mp3 метатег python

2 голосов
/ 07 октября 2010

Я пытаюсь написать скрипт, который рекурсивно сканирует заданный каталог и, если найден mp3, получить и просто распечатать метатег для него. Что бы я ни передавал getEyeD3Tag, я получил исключение. Вот мой код, который я написал до сих пор

  def getEyeD3Tags(path):
    try:
        trackInfo = eyeD3.Mp3AudioFile(path)
        tag = trackInfo.getTag()
        tag.link(path)
        print tag.getArtist()
        print tag.getAlbum()
        print tag.getTitle()

        #return (tag.getArtist(),tag.getTitle(),tag.getAlbum())
    except eyeD3.InvalidAudioFormatException:
        print "File %s is not a mp3 file " % path
mp3Num=0
temp=os.walk(valid-folder-name)
for root, dirs, files in temp:
    for i in files:
        if os.path.join(root,i):
            temp=os.path.splitext(i)
            temp[1].lower()
            if temp[1]=='.mp3':
                mp3Path=os.path.join(root,i)
                print mp3Path
                getEyeD3Tags(mp3Path)
                mp3Num+=1
                raw_input()
            #print "**"
        else:
            print "Error invalid path"
    print "\n\n"
    #raw_input()
print mp3Num
raw_input()

И кстати, это способ получить жанр mp3-файла, используя eyeD3? Спасибо заранее

1 Ответ

2 голосов
/ 19 декабря 2011

Чтобы проверить, является ли анализируемый файл действительным mp3, вызовите метод eyeD3.isMp3File ( filename ).

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

def parseIDETag(self, path):
        if eyeD3.isMp3File(path):

Таким образом, если файл не является mp3, он просто пропустит его.

Кроме того, str(tag.getGenre()) возвращает жанр в виде строкииспользуя eyeD3.

...