Python bir php ön ucu ile, mp3 veritabanı komut dosyası

1 Cevap php

Yani, burada anlaşma. Ben bir mp3 (sanatçı, albüm, songname, tür, vb) temel ID3 etiketleri okur hızlı bir python komut dosyası yazmak çalışıyorum. (Bir tek iyi bilmedikçe) python komut dosyası en olası mutajen kütüphane kullanacağız. Ben ardışık her mp3'ler etiketleri almak için bir dizin taramak için nasıl emin değilim, ve daha sonra bir veritabanı doldurmak. Ayrıca, kadar veritabanı sonu olarak, ben mümkün olduğunca sağlam yapmak istiyorum, bu yüzden kimse ben veritabanının kendisi tasarımı nasıl herhangi bir fikir vardı merak ediyordum. Ben herhangi bir yardım takdir ediyorum ben ilişkisel veritabanları çok iyi değilim, vb bazı ilişkileri kullanmalısınız Ben sadece, büyük bir tablo kullanmanız gerekir. Oh, bu bir linux kutunun üzerinde çalışıyor.

1 Cevap

Python ID3 etiketleri ayıklanması ile başlamak için, bunun için bir modül var.

from ID3 import ID3

mp3_filepath = r'/music/song.mp3'
id3_data = ID3(mp3_filepath)
print 'Artist:', id3_data['ARTIST']
print 'Title:', id3_data['TITLE']

More info on ID3 module.

Özyinelemeli mp3 dosyaları için bir dizin aramak istiyorsanız, yerleşik os modülü yapabilirsiniz:

import os

def mp3_files(root):
  # this is a generator that will return mp3 file paths within given dir
  for f in os.listdir(root):
      fullpath = os.path.join(root,f)
      if os.path.isdir(fullpath) and not os.path.islink(fullpath):
          for x in mp3_files(fullpath):  # recurse into subdir
              yield x
      else:
          if fullpath[len(fullpath)-3:] == 'mp3':
            yield fullpath

for p in mp3_files(root_dir):
  id3_data = ID3(p)
  print 'Artist:', id3_data['ARTIST']
  print 'Title:', id3_data['TITLE']

Reference.

Veritabanı oluşturma açısından, (Müzik verilerini depolamak ortak bir veritabanı bir sorundur) tekerleği yeniden icat etmeye gerek yok - bir Google arama size yardımcı olacaktır. Here's one example.