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的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
Python Socket传输文件示例
Jan 16 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
python实现简单图片物体标注工具
Mar 18 Python
Django 外键的使用方法详解
Jul 19 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
python实现门限回归方式
Feb 29 Python
详解pandas映射与数据转换
Jan 22 Python
python实现简易名片管理系统
Apr 11 Python
Python实战之实现康威生命游戏
Apr 26 Python
教你用python实现12306余票查询
Jun 30 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
twig模板常用语句实例小结
2016/02/04 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
PHP大文件切割上传并带进度条功能示例
2019/07/01 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
js格式化时间的方法
2015/12/18 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
在Python中实现贪婪排名算法的教程
2015/04/17 Python
探究python中open函数的使用
2016/03/01 Python
python3的输入方式及多组输入方法
2018/10/17 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
eBay加拿大站:eBay.ca
2019/06/20 全球购物
解除施工合同协议书
2014/10/17 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫