您的位置:首页 > 编程语言 > Python开发

Python修改Mp3文件名称

2009-01-01 20:34 411 查看
最近刚刚开始学习Python,顺便锻炼思维写的一个小函数,专门用来修改那些网上下载的mp3歌曲后名称不正确时候,使用该函数,使用方法
ModifyMp3FileInfo(r'E:/音乐/12345.mp3')

PythonCode:

#!修改下载的Mp3文件名称为正确的Mp3文件
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:
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()
import os
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'


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: