共计 1920 个字符,预计需要花费 5 分钟才能阅读完成。
很多时候,我们从互联网下载过来的 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')
正文完
扫码赞助
