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ù),同樣是練習。
使用方法:
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程序設計有所幫助。
相關文章
查找python項目依賴并生成requirements.txt的方法
今天小編就為大家分享一篇查找python項目依賴并生成requirements.txt的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python常用base64 md5 aes des crc32加密解密方法匯總
這篇文章主要介紹了Python常用base64 md5 aes des crc32加密解密方法匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
Django解決無法從request.POST中獲取URL傳進來的參數(shù)
這篇文章主要介紹了Django解決無法從request.POST中獲取URL傳進來的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實驗題分析實例
這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實驗題分析,總的來說這并不是難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2022-12-12

