首页 > 编程 > Python > 正文

Python写入数据到MP3文件中的方法

2020-01-04 18:06:12
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Python写入数据到MP3文件中的方法,可实现将MP3文件相关信息写入MP3文件的功能,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Python写入数据到MP3文件中的方法。分享给大家供大家参考。具体分析如下:

通过Mp3的Id3V1数据段的数据来修正Mp3文件的正确名字,但是,有时候这个数据断中的数据是空的,所以这里写一个修改Id3V1数据段的数据的函数,同样是练习。

使用方法:

 

 
  1. writeMp3Header[ SongName] = '测试歌曲名称' 
  2. writeMp3Header[ SongPeople] = '不得闲' 
  3. writeMp3Header[ ZhuanJi] = '专辑' 
  4. writeMp3Header[ Year] = '2009' 
  5. writeMp3Header[ Bak] = '备注测试' 
  6. setMp3Header(r'E:/test.mp3'

Python代码如下:

 

 
  1. writeMp3Header = { 
  2. "SongName":""
  3. "SongPeople":""
  4. "ZhuanJi":""
  5. "Year":""
  6. "Bak":"" 
  7. def setMp3Header(mp3file): 
  8. mp3Id3V1 = {  
  9. "SongName":-125, 
  10. "SongPeople":-95, 
  11. "ZhuanJi":-65, 
  12. "Year":-35, 
  13. "Bak":-31 
  14. tags = ['SongName','SongPeople','ZhuanJi','Bak'
  15. f = open(mp3file,'r+'
  16. try
  17. f.seek(-128,2) 
  18. try
  19. tempstr = f.read(3) 
  20. if tempstr == 'TAG'
  21. for tag,startPos in mp3Id3V1.items(): 
  22. if writeMp3Header[tag] != ''
  23. f.seek(startPos,2) 
  24. if tag in tags: 
  25. if len(writeMp3Header[tag]) > 30:  
  26. f.write(writeMp3Header[tag][:30]) 
  27. else
  28. f.write(writeMp3Header[tag]) 
  29. print startPos,tag,writeMp3Header[tag] 
  30. else
  31. print 'is not a mp3file' 
  32. except IOError: 
  33. print 'read error' 
  34. finally
  35. f.close() 

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表