그래서, 여기 거래가 있습니다. mp3 (아티스트, 앨범, 노래 이름, 장르 등)에서 기본 id3 태그를 읽는 빠른 파이썬 스크립트를 작성하려고합니다. 파이썬 스크립트는 mutagen 라이브러리를 사용합니다 (당신이 더 좋은 라이브러리를 모른다면). 나는 각 mp3의 태그를 얻기 위해 재귀 적으로 디렉토리를 스캔하는 방법을 모르고 데이터베이스를 채운다. 또한 데이터베이스가 끝나는 한 가능한 한 솔리드로 만들고 싶습니다. 그래서 데이터베이스 자체를 디자인하는 방법에 대한 아이디어가 있다면 궁금합니다. 하나의 커다란 테이블을 사용해야할까요, 관계를 사용해야 할 것인가 등등. 관계형 데이터베이스는별로 좋지 않기 때문에 도움이됩니다. 오, 이건 리눅스 박스에서 돌아가고있어.PHP 프론트 엔드가있는 Python 스크립트 된 mp3 데이터베이스
2
A
답변
4
파이썬에서 ID3 태그를 추출하기 시작하면,이를위한 모듈이 있습니다.
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']
당신이 반복적으로 MP3 파일에 대한 디렉토리를 검색하려면
, 내장 된 os
모듈이 작업을 수행 할 수 있습니다
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']
를 만드는 측면에서 데이터베이스, 당신은 바퀴를 재발 명할 필요가 없습니다 (음악 데이터를 저장하는 것은 일반적인 데이터베이스 문제입니다) - Google earch가 도움이 될 것입니다. Here's one example.
나는 데이터베이스 설계, 덕분에, 재귀 mp3 검색에 어떤 생각을 생각하지 못했습니까? – Specto