2019/5/9
ファイル列挙はすんなりいった
import glob ,re , os
from mutagen.easyid3 import EasyID3
from mutagen.flac import FLAC
from mutagen.mp4 import MP4
from mutagen.aac import AAC
import sqlite3
import time
conn = sqlite3.connect(r'<fullpath>\database.db')
c = conn.cursor()
c.execute('create table IF NOT EXISTS musics(fullpath text, title text)')
q=''
fo=r'i:\Music\Jazz\**'
count=0
count1=0
def perror(p):
global count
count+=1
print('error-->'+p)
start = time.time()
for p in glob.iglob(fo , recursive=True):
count1 += 1
if os.path.isfile(p):
if re.search('\.(mp3|ape|ogg)$', p):
try :
tags = EasyID3(p)
q=tags['title'][0]
except:
perror(p)
q=''
elif re.search('\.flac$', p):
try :
tags = FLAC(p)
q=tags['title'][0]
except:
perror(p)
q=''
elif re.search('\.(mp4|m4a)$', p):
try :
tags = MP4(p)
q=tags['\xa9nam'][0]
except:
perror(p)
q=''
elif re.search('\.aac$', p):
try :
tags = AAC(p)
q=tags['title'][0]
except:
perror(p)
q=''
else:
continue
c.execute( "INSERT INTO musics (fullpath, title) VALUES (?,?)" , ( p , q ))
elapsed_time = time.time() - start
print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")
c.execute('select count (*) from musics')
print('data--{0}'.format(c.fetchall()))
print('files--{0}'.format(count1))
print('error--{0}'.format(count))
conn.commit()
conn.close()