Python编程修改MP3文件名称的方法


Posted in Python onApril 19, 2017

本文实例讲述了Python编程修改MP3文件名称的方法。分享给大家供大家参考,具体如下:

最近刚刚开始学习Python,顺便锻炼思维写的一个小函数,专门用来修改那些网上下载的mp3歌曲后名称不正确时候,使用该函数,使用方法

ModifyMp3FileInfo(r'E:/音乐/12345.mp3')

Python代码:

#!修改下载的Mp3文件名称为正确的Mp3文件
 def ModifyMp3FileInfo(filename):
   mp3Id3V1 = {
     "tag":{"valuepos":(0,3),"value":""},
     "SongName":{"valuepos":(3,33),"value":""},
     "SongPeople":{"valuepos":(33,63),"value":""},
     "Zj":{"valuepos":(63,93),"value":""},
     "Year":{"valuepos":(93,97),"value":""},
     "Bak":{"valuepos":(97,125),"value":""}
     }
   try:
     f = open(filename,'rb')
     f.seek(-128,2)
     sdata = f.read(3)
     if sdata == 'TAG':
       f.seek(-128,2)
       sdata = f.read(128)
       for tag,subitem in mp3Id3V1.items():
         subitem["value"] = sdata[subitem["valuepos"][0]:subitem["valuepos"][1]].replace('/00','').strip()
         print '%s='%tag,'%s'%subitem["value"],'/n'
       f.close()
       import os
       if mp3Id3V1["SongName"]["value"]!='':
         test = [os.path.dirname(filename),'//']
         test.append(mp3Id3V1["SongName"]["value"])
         test.append('.mp3')
         newfilename = ''.join(test)
         print newfilename
         if os.path.exists(newfilename):
           test = ['Filename ',newfilename,' Has Existed']
           print ''.join(test)
         else:
           try:
             os.rename(filename,newfilename)
           except WindowsError,e:
             if e.winerror:
               print 'Modify filename failed ,maybe the file is inuse'
             else:
               print 'UnKnown error'
     else:
       print 'Is not a MP3 file'
   except IOError:
     print 'Open file failed'

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

Python 相关文章推荐
Python中字符编码简介、方法及使用建议
Jan 08 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
详解django自定义中间件处理
Nov 21 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
Python3并发写文件与Python对比
Nov 20 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 #Python
Python连接SQLServer2000的方法详解
Apr 19 #Python
Django自定义插件实现网站登录验证码功能
Apr 19 #Python
Python列表切片用法示例
Apr 19 #Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 #Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 #Python
浅析python递归函数和河内塔问题
Apr 18 #Python
You might like
php json_encode值中大括号与花括号区别
2013/09/30 PHP
跟我学Laravel之路由
2014/10/15 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
常用的javascript设计模式
2017/01/11 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
Python中DJANGO简单测试实例
2015/05/11 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
SVM基本概念及Python实现代码
2017/12/27 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
学校安全检查制度
2014/01/27 职场文书
优秀应届生求职信
2014/06/16 职场文书
逃课检讨书
2015/01/26 职场文书
小兵张嘎电影观后感
2015/06/03 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书