很多时候,我们从互联网下载过来的MP3是没有标题的,很烦燥,特意弄了个程序,Mark一下!
# coding:utf-8 def ModifyMp3FileInfo(filename): mp3Id3V1 = { "tag": {"valuepos": (0, 3), "value": ""}, "SongName": {"valuepos": (3, 33), "value": ""}, "SongPeople": {"valuepos": (33, 63), "value": ""}, "Zj": {"valuepos": (63, 93), "value": ""}, "Year": {"valuepos": (93, 97), "value": ""}, "Bak": {"valuepos": (97, 125), "value": ""} } try: import os if not os.path.exists(filename): print 'File not exists:' + filename return f = open(filename, 'rb') f.seek(-128, 2) sdata = f.read(3) if sdata == 'TAG': f.seek(-128, 2) sdata = f.read(128) for tag, subitem in mp3Id3V1.items(): subitem["value"] = sdata[subitem["valuepos"][0]:subitem["valuepos"][1]].replace('\00', '').strip() print '%s=' % tag, '%s' % subitem["value"], '\n' f.close() if mp3Id3V1["SongName"]["value"] != '': test = [os.path.dirname(filename), '\\'] test.append(mp3Id3V1["SongName"]["value"]) test.append('.mp3') newfilename = ''.join(test) print newfilename if os.path.exists(newfilename): test = ['Filename ', newfilename, ' Has Existed'] print ''.join(test) else: try: os.rename(filename, newfilename) except WindowsError, e: if e.winerror: print 'Modify filename failed ,maybe the file is inuse' else: print 'UnKnown error' else: print 'Is not a MP3 file' except IOError: print 'Open file failed' if __name__ == '__main__': ModifyMp3FileInfo('d:\\123.mp3')
- 微信扫码赞助
-
- 支付宝赞助
-