Python編程修改MP3文件名稱的方法
本文實(shí)例講述了Python編程修改MP3文件名稱的方法。分享給大家供大家參考,具體如下:
最近剛剛開始學(xué)習(xí)Python,順便鍛煉思維寫的一個(gè)小函數(shù),專門用來修改那些網(wǎng)上下載的mp3歌曲后名稱不正確時(shí)候,使用該函數(shù),使用方法
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'
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python URL操作技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解Python中數(shù)據(jù)類型的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Python中數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-03-03
python實(shí)現(xiàn)馬耳可夫鏈算法實(shí)例分析
這篇文章主要介紹了python實(shí)現(xiàn)馬耳可夫鏈算法的方法,實(shí)例分析了馬耳可夫鏈算法的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-05-05
Python字符串str和json格式相互轉(zhuǎn)換
這篇文章主要介紹了Python字符串str和json格式相互轉(zhuǎn)換,str轉(zhuǎn)換為json格式,前提一定需要保證這個(gè)str的格式和json是一致的。下文小編向大家介紹更多相關(guān)內(nèi)容,需要的朋友可以參考一下2022-03-03
python 3調(diào)用百度OCR API實(shí)現(xiàn)剪貼板文字識別
這篇文章主要為大家詳細(xì)介紹了python 3調(diào)用百度OCR API實(shí)現(xiàn)剪貼板文字識別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
python之yield表達(dá)式學(xué)習(xí)
這篇文章主要介紹了python之yield表達(dá)式學(xué)習(xí),python中有一個(gè)略微奇怪的表達(dá)式叫yield expression,本文就來探究一下這是個(gè)什么東西,需要的朋友可以參考下2014-09-09
windows環(huán)境下tensorflow安裝過程詳解
這篇文章主要為大家詳細(xì)介紹了windows環(huán)境下tensorflow安裝過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
基于PyQt5實(shí)現(xiàn)狀態(tài)欄(statusBar)顯示和隱藏功能
這篇文章主要為大家詳細(xì)介紹了如何利用PyQt5實(shí)現(xiàn)狀態(tài)欄顯示和隱藏功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-08-08
Python使用email模塊對郵件進(jìn)行編碼和解碼的實(shí)例教程
Python中我們一般使用SMTP模塊來首發(fā)郵件,而用email模塊來處理郵件編碼,本文我們就來詳細(xì)看一下Python使用email模塊對郵件進(jìn)行編碼和解碼的實(shí)例教程,需要的朋友可以參考下2016-07-07

