Python寫入數(shù)據(jù)到MP3文件中的方法
本文實例講述了Python寫入數(shù)據(jù)到MP3文件中的方法。分享給大家供大家參考。具體分析如下:
通過Mp3的Id3V1數(shù)據(jù)段的數(shù)據(jù)來修正Mp3文件的正確名字,但是,有時候這個數(shù)據(jù)斷中的數(shù)據(jù)是空的,所以這里寫一個修改Id3V1數(shù)據(jù)段的數(shù)據(jù)的函數(shù),同樣是練習(xí)。
使用方法:
writeMp3Header[ SongName] = '測試歌曲名稱' writeMp3Header[ SongPeople] = '不得閑' writeMp3Header[ ZhuanJi] = '專輯' writeMp3Header[ Year] = '2009' writeMp3Header[ Bak] = '備注測試' setMp3Header(r'E:\test.mp3')
Python代碼如下:
writeMp3Header = {
"SongName":"",
"SongPeople":"",
"ZhuanJi":"",
"Year":"",
"Bak":""
}
def setMp3Header(mp3file):
mp3Id3V1 = {
"SongName":-125,
"SongPeople":-95,
"ZhuanJi":-65,
"Year":-35,
"Bak":-31
}
tags = ['SongName','SongPeople','ZhuanJi','Bak']
f = open(mp3file,'r+')
try:
f.seek(-128,2)
try:
tempstr = f.read(3)
if tempstr == 'TAG':
for tag,startPos in mp3Id3V1.items():
if writeMp3Header[tag] != '':
f.seek(startPos,2)
if tag in tags:
if len(writeMp3Header[tag]) > 30:
f.write(writeMp3Header[tag][:30])
else:
f.write(writeMp3Header[tag])
print startPos,tag,writeMp3Header[tag]
else:
print 'is not a mp3file'
except IOError:
print 'read error'
finally:
f.close()
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實現(xiàn)示例
這篇文章主要介紹了MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
python獲取android設(shè)備的GPS信息腳本分享
這篇文章主要介紹了python獲取android設(shè)備的GPS信息腳本分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03
Python使用Tkinter實現(xiàn)滾動抽獎器效果
Tkinter 是 Python 的標(biāo)準(zhǔn) GUI(Graphical User Interface,圖形用戶接口)庫,Python 使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。這篇文章主要介紹了Python使用Tkinter實現(xiàn)滾動抽獎器,需要的朋友可以參考下2020-01-01
PyQt5實現(xiàn)讓QScrollArea支持鼠標(biāo)拖動的操作方法
今天小編就為大家分享一篇PyQt5實現(xiàn)讓QScrollArea支持鼠標(biāo)拖動的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
100行Python代碼實現(xiàn)自動搶火車票(附源碼)
又到年底了,相信對于在外地的朋友們來說,火車票是到年底最頭痛的一件事了,但作為程序員的你怎么能一樣呢?快發(fā)揮你的特長,下面這篇文章主要給大家介紹了如果通過100行Python代碼實現(xiàn)自動搶火車票的相關(guān)資料,需要的朋友可以參考下。2018-01-01

