python

超轻量级php框架startmvc

Python编程修改MP3文件名称的方法

更新时间:2020-04-29 17:48:01 作者:startmvc
本文实例讲述了Python编程修改MP3文件名称的方法。分享给大家供大家参考,具体如下:最近

本文实例讲述了Python编程修改MP3文件名称的方法。分享给大家供大家参考,具体如下:

最近刚刚开始学习Python,顺便锻炼思维写的一个小函数,专门用来修改那些网上下载的mp3歌曲后名称不正确时候,使用该函数,使用方法


ModifyMp3FileInfo(r'E:/音乐/12345.mp3')

Python代码:


#!修改下载的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'

Python 修改 MP3 文件名称