Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
#!/usr/bin/python2.5
# -*- coding:utf8 -*-
""" Перекодирует все теги из файла cp1251 -> utf8"""
import audiotools,sys,os,os.path
from traceback import format_exc
def get_filelist(path):
dirlist = []
def visitor(arg, dirname, names):
for name in names:
fullname = os.path.join(dirname,name)
if os.path.isfile(fullname):
dirlist.append(fullname.replace(path,''))
os.path.walk(path,visitor,'')
return dirlist
if len(sys.argv)!=2:
print "usage %s [path with mp3 or ogg files]" % sys.argv[0]
sys.exit(1)
for fn in get_filelist(sys.argv[1]):
try:
af = audiotools.open(fn)
md = af.get_metadata()
print "track_name : %s " % unicode(md.track_name.encode('ISO-8859-1'),'cp1251')
print "track_number: %i " % md.track_number
print "album_name : %s " % unicode(md.album_name.encode('ISO-8859-1'),'cp1251')
print "artist_name : %s " % unicode(md.artist_name.encode('ISO-8859-1'),'cp1251')
md.track_name=unicode(md.track_name.encode('ISO-8859-1'),'cp1251')
md.album_name= unicode(md.album_name.encode('ISO-8859-1'),'cp1251')
md.artist_name= unicode(md.artist_name.encode('ISO-8859-1'),'cp1251')
print "save"
af.set_metadata(md)
except Exception, e:
print '-' * 20
print e,format_exc()
print '-' * 20
Как поменять кодировку id3 меток в mp3