Вы видели, какой список возвращает os.walk()? Следует присмотреться к нему, проблема должна решиться
P.S. os.path.join() ??
for root, dirs, files in walk(dir):
print 'Processing %s' % (root)
for file in files:
if file.lower().endswith('.mp3'):
try:
eid = EasyID3(join(root, file))