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


Posted in Python onJuly 10, 2015

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

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

使用方法:

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 相关文章推荐
Python实现的多进程和多线程功能示例
May 29 Python
查看python下OpenCV版本的方法
Aug 03 Python
python 切换root 执行命令的方法
Jan 19 Python
Django用户认证系统 组与权限解析
Aug 02 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
python解析命令行参数的三种方法详解
Nov 29 Python
python字典setdefault方法和get方法使用实例
Dec 25 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
Python计算IV值的示例讲解
Feb 28 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 #Python
Python自动登录126邮箱的方法
Jul 10 #Python
Python获取邮件地址的方法
Jul 10 #Python
python实现中文分词FMM算法实例
Jul 10 #Python
Python实现的最近最少使用算法
Jul 10 #Python
Python导入oracle数据的方法
Jul 10 #Python
Python验证码识别的方法
Jul 10 #Python
You might like
php自动获取关键字的方法
2015/01/06 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
详解php实现页面静态化原理
2017/06/21 PHP
php查询内存信息操作示例
2019/05/09 PHP
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
python实现堆栈与队列的方法
2015/01/15 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
最好的商品表达自己:Cafepress
2019/09/04 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
技术人员面试提纲
2013/11/28 职场文书
六十大寿答谢词
2014/01/12 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
通信工程专业求职信
2014/06/04 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
民事二审代理词
2015/05/25 职场文书
养成教育主题班会
2015/08/13 职场文书